我使用 Ghostscript 将 JPEG 转换为 PDF:
gs -sDEVICE=pdfwrite -o d.pdf viewjpeg.ps -c "(Imgp3826.Jpeg) viewJPEG showpage
这将创建具有默认页面大小和图像的 PDF,位于左下角。 我需要修改脚本以创建具有正确尺寸的页面。
在本说明中:https://stackoverflow.com/a/6508854/907576
他们使用ImageMagick来完成此操作,但我无法使用它 - 我只能使用Ghostscript。
可以从viewjpeg.ps
获取宽度-高度值并将其设置为页面大小?
我在 viewjpeg.ps
中看到:
/height NextByte 8 bitshift NextByte add def
/width NextByte 8 bitshift NextByte add def
看起来他们使用 JPEG header 来读取此信息。
我可以将其重新用于 <</PageSize [${dimension}]>>
?
最佳答案
FWIW,由于 viewJPEG 过程的编写方式,上面列出的简单加法不能单独工作。
我建议使用另一个过程来增强 viewjpeg.ps:
/viewJPEGgetsize { % <file|string> ==> width height
save
JPEGdict begin
/saved exch def
/scratch 1 string def
dup type /stringtype eq { (r) file } if
/F exch def
readJPEGmarkers begin
width height
saved end restore
} bind def
然后你可以这样调用它:
gs -I../lib -sDEVICE=pdfwrite \
-o stuff.pdf viewjpeg.ps \
-c "(image.jpg) <</PageSize 2 index viewJPEGgetsize 2 array astore>> setpagedevice viewJPEG"
关于pdf - 如何在 PostScript 中从 viewjpeg.ps 文件设置 PDF 页面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12690554/