Android 处理PDF以减少文件大小和/或复杂性

Android 处理PDF以减少文件大小和/或复杂性,android,pdf,ios,mobile,publishing,Android,Pdf,Ios,Mobile,Publishing,我有PDF文件需要准备在移动设备上查看。最糟糕的情况是约50页,有大量全彩图像和矢量艺术,文件大小约为40MB。这对于宽带上的PC观看是可以接受的,但对于移动观看来说不是很好,因为在移动设备上下载时间长,滚动速度慢(至少在我的超频Droid上)。是否有任何工具或库来处理文件,以简单地处理向量内容,对图像进行下采样/重新压缩,诸如此类的事情 pdf格式的输出不是绝对必要的,但它需要在android和iOS设备上可读,无需软件下载。Acrobat中有减少图像大小和提高pdf文件大小/速度的选项。你看

我有PDF文件需要准备在移动设备上查看。最糟糕的情况是约50页,有大量全彩图像和矢量艺术,文件大小约为40MB。这对于宽带上的PC观看是可以接受的,但对于移动观看来说不是很好,因为在移动设备上下载时间长,滚动速度慢(至少在我的超频Droid上)。是否有任何工具或库来处理文件,以简单地处理向量内容,对图像进行下采样/重新压缩,诸如此类的事情


pdf格式的输出不是绝对必要的,但它需要在android和iOS设备上可读,无需软件下载。

Acrobat中有减少图像大小和提高pdf文件大小/速度的选项。你看过这个选项了吗?

在移动设备上,有几个主要的东西可以放大PDF的大小:

  • 高分辨率图片(低分辨率即可)
  • 嵌入字体(如果没有字体,内容仍然“足够好”可读)
  • 当前版本/视图不再需要PDF内容(某些对象的旧版本)
  • 嵌入式ICC配置文件
  • 嵌入的第三方文件(使用PDF作为容器)
  • 嵌入式工作通知单(用于打印)
  • 嵌入式Javascript
  • 还有一些
自由和开放源码软件:可以尝试缩小PDF的大小,主要是对使用的图片进行重新采样,并删除旧版本(“新一代”)的PDF对象,这些对象被新的对象所取代:

gswin32c.exe ^
  -o sized-down.pdf ^
  -sDEVICE=pdfwrite ^
  -dPDFSETTINGS=/ebook ^
  -dEmbedAllFonts=false ^
  -c ".setpdfwrite <</AlwaysEmbed [ ]>>" ^
  -f blown-up.pdf
gswin32c.exe^
-o-down.pdf^
-sDEVICE=pdfwrite^
-dPDFSETTINGS=/ebook^
-dEmbedAllFonts=false^
-c“.setpdfwrite”^
-f blow-up.pdf
您可以向上面的命令行添加更多参数,以进一步缩小某些PDF的大小(例如,通过设置较低的最大分辨率等)。下面是一个将彩色和灰度图像的下采样强制为72dpi的示例:

gswin32c.exe ^
  -o sized-down.pdf ^
  -sDEVICE=pdfwrite ^
  -dPDFSETTINGS=/ebook ^
  -dEmbedAllFonts=false ^
  -dColorImageDownsampleThreshold=1.0 ^
  -dColorImageDownsampleType=/Average ^
  -dColorImageResolution=72 ^
  -dGrayImageDownsampleThreshold=1.0 ^
  -dGrayImageDownsampleType=/Average ^
  -dGrayImageResolution=72 ^
  -c ".setpdfwrite <</AlwaysEmbed [ ]>>" ^
  -f blown-up.pdf
gswin32c.exe^
-o-down.pdf^
-sDEVICE=pdfwrite^
-dPDFSETTINGS=/ebook^
-dEmbedAllFonts=false^
-dColorImageDownsampleThreshold=1.0^
-dColorImageDownsampleType=/Average^
-dColorImageResolution=72^
-dGrayImageDownsampleThreshold=1.0^
-dGrayImageDownsampleType=/Average^
-dGrayImageResolution=72^
-c“.setpdfwrite”^
-f blow-up.pdf
商业+封闭源代码软件:通过将自定义配置文件应用于PDF缩编过程,可以进一步减小文件大小(甚至可以取消嵌入字体和ICC配置文件)


更新2:另请参见以下(新)问题及其答案:


它提供了一些示例PostScript代码,可以完全删除PDF中的所有(光栅)图像,保持页面布局的其余部分不变。这在您不需要(光栅)图像,而只需要文本部分以减小文件大小的情况下非常有用。

您是否计划让用户将PDF文件存储在手机上,以便脱机查看?如果没有,您能否将PDF文件批量转换为HTML?您还可以对任何图像进行后期处理以降低质量/文件大小

转换器的一些选项包括:

  • 将PDF链接或实际PDF发送至
    pdf2html@adobe.com
    。您将收到PDF的HTML版本。更多关于
  • 使用独立软件,如或
  • 使用商业AdobeAcrobat插件,例如
我确信有更多的选项来执行转换


作为外部赌注,您是否尝试过使用google online从手机查看PDF?

Adobe Acrobat Professional有两个用于优化PDF文件的内置工具:

“PDF优化器”-,它将简化向量并删除不需要的内容(以及其他内容)

“优化扫描的PDF”-http://help.adobe.com/en_US/Acrobat/9.0/Standard/WS58a04a822e3e50102bd615109794195ff-7f71.w.html#WS0BEFAC0B-47D9-47b8-9AF8-4DE2FE9C9736.w,它将减少采样并压缩嵌入的光栅图像

这两个工具都是我用过的最好的工具。然而,大多数PDF优化工具的重点是减少文件大小,而不是提高渲染速度

<>如果要大幅提高设备上的渲染性能,你应该考虑将PDF预渲染到位图图像。如果在光栅化之前将它们放大一点(以允许设备上的缩放),并坚持索引颜色方案,则应该能够为每个页面生成具有可接受文件大小和分辨率的光栅。与矢量内容相比,它们在设备上的绘制速度要快得多。

不久前(几年前),我曾通过将PDF转换为djvu(例如,通过或本地安装的免费命令行工具)来减小PDF的大小。结果非常好(小)

当时,AFAIK,PDF没有支持与djvu大小相同的编码,但现在我被告知PDF格式包含了与djvu一样好的编码。因此,必须有一些工具对PDF进行类似的优化。找他们

或者您可以分发djvu,但我不确定您的操作系统中是否预装了djvu阅读软件

它需要在android和iOS设备上可读,无需下载软件

您可以使用类似的工具预处理PDF

它将此更改为:

______


从年开始,该项目于2012年开始。

您是否控制源文档?我认为如果你不得不处理图像,PDF将是一个非常痛苦的工作。不是真的。它们来自我们的发布系统。您看过PDF optimizer()吗?这些PDF是由专有的发布系统生成的,由于我们处理的文件太多,手动干预是不实际的。您可能还想看看它们是否