问题 处理PDF以减小文件大小和/或复杂性


我有准备在移动设备上查看的PDF文件。更糟糕的情况是约50页,有很多全彩色图像和矢量艺术,文件大小约。 40MB。这对于宽带上的PC观看是可以接受的,但由于下载时间长且移动时非常滞后(至少在我超频的Droid上),因此对于移动观看来说并不是很好。有没有任何工具或库可以处理文件到简单的矢量,下采样/重新压缩图像,那种东西?

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


1628
2017-12-31 19:33


起源

您是否可以控制源文档?如果你必须操纵图像,我认为PDF将是一个真正的PAIN。 - user432209
不是真的。他们来自我们的出版系统。 - Tyler Eaves
你看过PDF优化器(help.adobe.com/en_US/Acrobat/8.0/Professional/...)? - Eugene


答案:


在移动设备上有一些可能会破坏PDF大小的主要因素:

  • 高分辨率图片(lo-res就足够了)
  • 嵌入式字体(如果没有它们,内容仍然可以“足够好”)
  • 当前版本/视图不再需要PDF内容(某些对象的旧版本)
  • 嵌入式ICC配置文件
  • 嵌入的第三方文件(使用PDF作为容器)
  • 嵌入式作业单(用于打印)
  • 嵌入式Javascript
  • 还有一些

FOSS软件:  Ghostscript的 可以尝试调整PDF的大小,主要是重新采样所使用的图片,并删除旧版本(“代”)的PDF对象,这些版本被更新的替换:

gswin32c.exe ^
  -o sized-down.pdf ^
  -sDEVICE=pdfwrite ^
  -dPDFSETTINGS=/ebook ^
  -dEmbedAllFonts=false ^
  -c ".setpdfwrite <</AlwaysEmbed [ ]>>" ^
  -f blown-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

商业+闭源软件:  callas pdfToolbox4 通过将自定义配置文件应用于PDF缩小尺寸过程(它甚至可以取消嵌入字体和ICC配置文件),可以进一步减小文件大小。


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

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


8
2018-01-02 18:35





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

“PDF优化工具” - http://www.adobe.com/designcenter/acrobat/articles/acr7optimize.html,这将简化向量并删除不需要的内容(除其他外)

“优化扫描的PDF”-http://help.adobe.com/zh_CN/Acrobat/9.0/Standard/WS58a04a822e3e50102bd615109794195ff-7f71.w.html#WS0BEFAC0B-47D9-47b8-9AF8-4DE2FE9C9736.w,它将对嵌入式进行下采样和压缩光栅图像。

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

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


3
2018-01-10 15:10





Acrobat中有一些选项可以减小图像大小并提高PDF文件大小/速度。你看过这个选项吗?


0
2018-01-02 17:37



这些PDF是由专有的发布系统生成的,由于我们正在处理的文件量很大,因此手动干预是不实际的。 - Tyler Eaves
您可能还想查看它们是否实际上是为打印而创建的。我们在各种发布者的PDF文件上做了很多工作,生成的PDF文件是慢速/大的CMYK。 - mark stephens


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

转换器的一些选项包括:

  • 通过电子邮件发送PDF链接或实际PDF文件 pdf2html@adobe.com。您将收到PDF版本的HTML版本。有关的更多信息 Adobe网站
  • 使用独立软件,如 PDF995 要么 PDF2HTML
  • 使用商业Adobe Acrobat插件,例如 LD-转换器

我确信还有更多选项可用于执行转换。

作为外部赌注,您是否尝试使用谷歌在线查看您手机上的PDF 读者


0
2018-01-07 16:21





前一段时间(几年)我曾经通过将PDF格式转换为djvu来缩小PDF格式(例如,通过 http://any2djvu.djvuzone.org/ 或本地安装的免费命令行工具)。结果非常好(小)。

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

或者您可以分发djvus,但我不确定您的操作系统中是否预先安装了djvu-reading软件。


0
2018-01-11 01:10