修复明显损坏的 PDF 并减小文件大小

3
我有一个PDF文件(4.6MB),使用Ubuntu 12.04中的pdftk将包含文本和位图图形的6个不同的PDF合并而成。 我希望在不影响质量的情况下将该文件压缩到接近2MB左右。
我已经尝试了pdftk的"compress"选项(无法将其压缩到2 MB),还尝试了先将其转换为ps,然后再转回pdf,但是出现以下警告:
**** Warning: considering '0000000000 XXXXX n' as a free entry.
然后就卡住了。 qpdf也失败了,说这个文件已损坏。
有人能帮帮我吗?

1
这些图形是矢量还是位图?如果你增加位图的失真度,可能会得到一些压缩优势——尽管我想在生成时这样做可能会更好,而不是重新处理文件。 - halfer
哦,这个看起来会有所帮助。 - halfer
1
以下是关于你下一个问题的建议:请提供更多细节(例如,你用的图形是位图)和你所尝试过的方法(例如,Multivalent)。这将为大家节省时间! - halfer
没有使用gs,我无法实现如此高的压缩比。我需要将一个大小为 4.6 MB 的文件压缩到大约 2 MB。 - Harsh Purwar
2
对于那些可能正在寻找类似内容的人:以下两个答案都是正确的 - Harsh Purwar
显示剩余2条评论
3个回答

6
Ghostscript会给你什么结果?尝试使用以下命令:
gs \
  -o output.pdf \
  -sDEVICE=pdfwrite \
  -dPDFSETTINGS=/screen \
   input.pdf

1
@Harsh Purwar:那么这个Ghostscript命令减小了文件大小多少?!? - Kurt Pfeifle
1
@Harsh Purwar:没有能够查看和分析相关文件的情况下,很难给出更好的建议。可能无法进一步减小文件大小。 - Kurt Pfeifle
1
@HarshPurwar - 我建议您通常要更详细地回答问题,并使用此类答案作为更多研究的_起点_。那么,GS是否提供更改压缩比率的选项?您能否重新编码具有更大损失性的位图等?请阅读手册,而不仅仅是说“它没有起作用” :) - halfer
1
@HarshPurwar:在编写PDF时,gs可以对包含的位图进行降采样。请查看手册。 - Martin Schröder
1
现在距离我的博士答辩还有40分钟,我的委员会开始告诉我他们无法打开我发送给他们的幻灯片。这个命令保存了一切。谢谢! - dranxo
显示剩余5条评论

3

这个PDF文件中是否包含保密信息?如果没有机密数据的话,看一下会很有趣。

无论如何,在qpdf无法处理的情况下,Multivalent可以处理。

你可以尝试使用它的压缩工具(它还会尝试修复PDF文件)。

Multivalent

java -cp path....to/Multivalent.jar tool.pdf.Compress file.pdf


尝试使用Multivalent进行压缩,但它无法将我的文件压缩到4.1 MB以上。虽然它建议:可以通过以下方式进行额外的压缩: -compact -jpeg -nopagepiece但我不知道如何实现它。我尝试了以下方法,但失败了。 java -compact ./Multivalent.jar tool.pdf.Compress file.pdf - Harsh Purwar
正确的语法是(假设您将 Multivalent.jar 下载到 /root 中): java -cp /root/Multivalent.jar tool.pdf.Compress -jpeg -nopagepiece file.pdf - Dingo
现在它可以工作了,但仍然无法达到所需的文件大小。现在已压缩为4.0 MB。我还能尝试些什么吗? - Harsh Purwar
1
超过一定限制,带有光栅图像的PDF文件在不牺牲质量的情况下难以实现高压缩比。您必须决定是需要质量还是愿意降低图像质量以便于在屏幕上查看而非打印。我认为,低分辨率图像的PDF文件是无用的,您需要在任何情况下都备份高质量的副本,以便在必要时不会失去打印文件的能力。如果PDF中的图像可以容忍黑白二值化,则可以修改答案以添加使用jbig2enc的指令。 - Dingo

3

这对我修复受损的PDF文件有效。

sudo apt-get install mupdf-tools

mutool clean input.pdf output.pdf

这对我也解决了 pdftk 无法处理的问题!感谢您的分享! - ychaouche

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