2015-04-28 53 views
3

當研究如何壓縮一堆PDF文件裏面的圖片(最好以無損的方式,但我會滿足於有損)我發現,很多人建議這樣做:爲什麼組合pdf2ps/ps2pdf會縮小PDF?

$ pdf2ps file.pdf 
$ ps2pdf file.ps 

這工作!由此產生的文件更小,看起來至少足夠好。

  • 這是如何工作的?
  • 我可以在這個過程中調整哪些設置?
  • 如果有一些有損轉換,那是哪一個?
  • 捕獲的地方在哪裏?
+0

如果pdf2ps生成的PDF文件沒有任何東西,如果你diff的它AGA改變inst file.ps? – dsolimano

+1

是的,有很多變化。只是爲了說明:原始爲2.9 MB,第一個PS爲3.2 MB,壓縮PDF爲0.5 MB,最後一個PS爲3.6 MB ... – vektor

+0

您可以發佈示例文件嗎?我懷疑你在這個過程中丟失了字體信息。你能複製/粘貼最終PDF文件嗎?它是否在原來的工作?顯示時文件看起來是否相同?你試過放大/縮小嗎? – yms

回答

5

推薦此程序的人很少從專業知識或知識背景中這樣做 - 這是基於直覺的感覺。

通過PostScript生成一個新的PDF以及返回(也稱爲「重新輸入PDF」)的繞道是永遠不會給你的最佳結果。有時它很有用,f.e.如果原始PDF完全不被打印,或者不能被另一個應用程序處理。但這些案例非常罕見。

無論如何,這種「往返」轉換將永遠不會導致與最初相同的PDF文件。

另外,pdf2psps2pdf工具是不是在所有獨立的工具:他們是圍繞一個Ghostscript的(gsgswin32c.exe)命令行只是簡單的包裝腳本。您可以檢查自己做:

cat $(which ps2pdf) 
cat $(which pdf2ps) 

這也將揭示(默認)參數這些簡單的包裝使用相應的轉換。

如果你不走運,你將會安裝一個古老的Ghostscript。由pdf2ps生成的PostScript將是Level 1 PS,對於許多可用於更多現代PDF文件的字體而言,這將是「有損」的,從而導致先前矢量字體的光柵化。不完全是你想查看輸出...

因爲這兩個工具都使用的Ghostscript反正(但你背後),你有了更好的運行Ghostscript的自己。這使您可以更好地控制它使用的參數。特別有利的是,通過這種方式,您可以通過PDF-> PDF轉換獲得直接,而不需要通過中間PostScript文件格式繞道。

這裏有幾個答案,它會給你什麼參數,你可以以推動減少文件大小在半控制方式在輸出PDF使用一些提示: