GhostScript与CropBox一起出现问题

时间:2014-08-26 11:41:50

标签: php ghostscript

我正在尝试使用ghostscript将CropBox添加到pdf中。我使用以下代码:

gs -sDEVICE=pdfwrite -o output.pdf -c "[/CropBox [100.00 100.00 200.00 200.00] /PAGES pdfmark" -f input.pdf

问题是,对于某些pdf,它会创建一个合适的CropBox,但与其他人一起,它无法做任何事情。

失败的pdf已经存在TrimBox,在我的代码行之后删除了TrimBox。但它并没有创建一个正确的CropBox。

我没有从GhostScript中得到任何错误,它只是不起作用。

有没有人知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果没有看到示例PDF文件,就很难分辨....

请注意(重复讲座....)你正在做的是'添加CropBox'。当您通过Ghostscript处理输入时(无论输入是什么,PDF,PS,PCL,XPS ......),它都被完全解释为图形基元。这些原语被传递给Ghostscript设备,该设备决定如何处理它们。在渲染设备的情况下,他们使用图形库将图形渲染到位图。对于高级设备(例如pdfwrite),基元将转换为适合所需格式的操作,并以文件格式适当地包装。

所以....输出PDF文件与输入没有任何共同之处,只是它在视觉上应该是相同的。一些PDF元数据(即非标记内容)由PDF解释器转换为pdfmark操作,并以这种方式发送到设备,并且一些高级设备将其中的一部分嵌入其输出中,因此最可能的情况是在解释PDF文件之前提供的pdfmark操作将被PDF解释器生成的后续pdfmarks覆盖,以响应PDF文件的内容。

重点是您没有将CropBox添加到现有PDF<您正在使用CropBox创建一个全新的PDF,该PDF文件的内容与原始文件没有任何共同之处。

如果你发布了一个示例PDF文件,你遇到了麻烦,我可以看一下,但没有它,我不知道实际的原因是什么。

相关问题