2017-04-27 50 views
0

我試着在這裏找到答案並使用GhosScript,但我無法成功。從PDF文件中提取CropBox作爲MediaBox並保留原始字體

所以,我有一個PDF文件,其中定義了CropBox和MediaBox。 CropBox/MediaBox比率在頁面之間有所不同(特別是在標題頁面和文檔的其餘部分之間)。 我想要實現的是從每個頁面提取CropBox,並使用MediaBox的eqal將新的PDF渲染到CropBox。基本上,我想將所有頁面裁剪爲裁剪框,並在每個頁面上將MediaBox設置爲該裁剪框。

我可以使用ghostscript或任何其他cmd行工具嗎?

編輯,

我終於如何使用Ghostscript來實現這一目標:

gs -dUseCropBox -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=out.pdf in.pdf

但轉換過程中我得到的消息,例如:

Page 74 Substituting font Helvetica for KAENAW+Helvetica.

這是否意味着對於簡單的裁剪操作,我確實需要使用所有字體原始pdf安裝在我的系統中? ghostscript是如何工作的?我認爲,pdf不需要「重新提交」,但這將是對內部維度數據的一些操作。

回答

0

沒有看到您的文件,無法確定發生了什麼事情。

很可能您的原始文件不包含Helvetica的嵌入副本(儘管作爲它的子集它當然應該!)。 PDF文件不允許包含'base 14'字體,其中包括Helvetica,可能您的文件不包含,因此Ghostscript使用其自己版本的Helvetica,這就是基本14字體丟失時應該發生的情況,您可以將它們排除在外,因爲所有PDF消費者都保證擁有它們。

Ghostscript的pdfwrite設備不會(通常有例外)呈現PDF文件,但是我認爲EmbedAllFonts的默認設置爲true,所以pdfwrite設備將在其創建的PDF文件中嵌入Helvetica的副本,它自己的副本要這樣做。

如果你發佈一個文件的地方,我可以看看。您還應該確保您使用的是當前版本的GHT stscript。

相關問題