处理PDF文件以减小文件大小和/或复杂度。

12

我有一些PDF文件,需要为移动设备做准备。最坏情况下有大约50页,包含很多全彩色图片和矢量图像,文件大小大约为40MB。这个文件对于在宽带上的PC浏览来说是可以接受的,但是对于移动设备的浏览来说下载时间较长,滚动非常卡顿(至少在我的超频Droid上是这样)。是否有任何工具或库可以处理这些文件,简化矢量图形,缩小/重新压缩图像,或其他类似的操作?

输出为pdf格式并不是绝对必要的,但需要能够在android和iOS设备上阅读而无需软件下载。


你对源文件有控制权吗?如果你必须处理图像,我认为PDF将会非常麻烦。 - user432209
不是真的。它们是从我们的出版系统中产生的。 - Tyler Eaves
1
你看过PDF优化器吗?(http://help.adobe.com/zh_CN/Acrobat/8.0/Professional/help.html?content=WS58a04a822e3e50102bd615109794195ff-7c87.html) - Eugene
6个回答

8

在移动设备上,有几个主要因素可能会导致PDF文件变大:

  • 高分辨率图片(低分辨率足矣的情况下)
  • 嵌入字体(即使没有它们,内容仍然足够清晰可读)
  • 当前版本/视图不再需要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中的所有(光栅)图像,保留页面布局的其余部分。这在您不想要(光栅)图像,但只想要文本部分以减小文件大小的情况下非常有用。


4

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

“PDF Optimizer” - http://www.adobe.com/designcenter/acrobat/articles/acr7optimize.html,它会简化向量并删除不必要的内容(以及其他操作)

“Optimize Scanned PDF” - http://help.adobe.com/en_US/Acrobat/9.0/Standard/WS58a04a822e3e50102bd615109794195ff-7f71.w.html#WS0BEFAC0B-47D9-47b8-9AF8-4DE2FE9C9736.w,它将缩小嵌入的光栅图像并压缩。

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

如果您想在设备上大幅提高渲染性能,应考虑将PDF预渲染为位图图像。如果在光栅化之前将其稍微缩放一下(以便进行设备上的缩放),并坚持使用索引色彩方案,那么您应该能够生成每个页面的光栅图像,其文件大小和分辨率都是可接受的。它们将比矢量内容更快地在设备上绘制出来。

0
需要在Android和iOS设备上阅读,无需软件下载。
您可以使用k2pdfopt这样的工具预处理PDF文件。
它将把这个====================>变成这个:

https://www.willus.com/k2pdfopt/examples/original/ieee_twocolumn_template.png ______ https://www.willus.com/k2pdfopt/examples/kindle/ieee_twocolumn_template_k2opt_v127.png

该项目始于2012年,其来源


0

在Acrobat中有选项可以减小图片尺寸,提高PDF文件大小/速度。您看过这个选项吗?


2
这些PDF文件是由专有的出版系统生成的,由于我们处理的文件数量很大,手动干预并不实际。 - Tyler Eaves
1
你可能还想查看它们是否实际上是为打印而创建的。我们与各种出版商一起对PDF文件进行了大量工作,生成的PDF文件是CMYK格式的,这将会很慢/大。 - mark stephens

0

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

一些转换选项包括:

  • 将PDF的链接或实际PDF电子邮件发送至 pdf2html@adobe.com。您将收到PDF的HTML版本。有关更多信息,请参阅 Adobe网站
  • 使用独立软件,如 pdf995pdf2html
  • 使用商业Adobe Acrobat插件,例如 LD-Converter

我相信还有更多的转换选项。

作为一个非常不确定的选择,您是否尝试使用谷歌在线 reader 从手机上查看PDF文件?


0

前几年,我曾经通过http://any2djvu.djvuzone.org/或本地安装的免费命令行工具将PDF文件转换为djvu以减小其大小。结果非常好(小)。

当时,据我所知,PDF不包括与djvu一样大小效率的编码支持,但现在有人告诉我,PDF格式已经包含了与djvu一样好的编码。因此,一定有类似于djvu的工具可以对PDF进行同样好的优化。请寻找这些工具。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接