Pdf 如何使用Ghostscript设置自定义页面大小
我以600 dpi,~9.36x12.67英寸的速度扫描了一些材料,并以PostScript(PS)格式准备 现在,当我尝试使用Ghostscript(GS)将PS转换为PDF时,我得到了剪裁输出,因为我假设GS的默认页面大小设置为A4。我在这里找到了可用的GS模板:但没有一个模板与我的PS文件的维度非常匹配,因此: 我可以指示GS输出自定义尺寸吗?如果可以,如何输出Pdf 如何使用Ghostscript设置自定义页面大小,pdf,ghostscript,Pdf,Ghostscript,我以600 dpi,~9.36x12.67英寸的速度扫描了一些材料,并以PostScript(PS)格式准备 现在,当我尝试使用Ghostscript(GS)将PS转换为PDF时,我得到了剪裁输出,因为我假设GS的默认页面大小设置为A4。我在这里找到了可用的GS模板:但没有一个模板与我的PS文件的维度非常匹配,因此: 我可以指示GS输出自定义尺寸吗?如果可以,如何输出 -sPAPERSIZE指令似乎只接受预定义的模板名称,如链接文档中所示。您可以使用-gnnnxmmm设置使用的页面大小,其中NN
-sPAPERSIZE
指令似乎只接受预定义的模板名称,如链接文档中所示。您可以使用-gnnnxmmm
设置使用的页面大小,其中NNMN是720 dpi时的宽度(720像素==1英寸),MMMM是720 dpi时的高度(像素)
或者可以使用-dDEVICEWIDTHPOINTS=w-dDEVICEHEIGHTPOINTS=h
设置PostScript点的自定义大小(72点==1英寸)
如果我没记错的话,9.36英寸≈= 674点和12.67英寸≈= 912分
您还必须应用-dPDFFitPage
,以便将您的输入适合页面
所以你可以用任何一个
gs \
-o output.pdf \
-sDEVICE=pdfwrite \
-dDEVICEWIDTHPOINTS=674 \
-dDEVICEHEIGHTPOINTS=912 \
-dPDFFitPage \
input.ps
或
对我有用的是:
gs-sDEVICE=pdfwrite-r720-g4308x6066-dPDFFitPage-o out.pdf in.pdf
4308x6066
是像素数,-r720
是每英寸的像素数
这里我们有720dpi,例如5英寸,这将是3600像素。我使用的是GhostPDL9.10。虽然我的纸张大小8.5x13列在“flsa”中“-sPAPERSIZE=flsa”开关无效,但纸张大小仍为字母。正确的单位为
-g5100x7800交换机与my-r600(非720)匹配-g工作。我发现
gs
正在剪切我的输出,尽管我已将页面强制为最大的标准大小A0
原因是groff
/grops
发送到gs
的PostScript文档包含一个覆盖Ghostscript选择的%%DocumentMedia
规范
解决方案是给
groff
命令行标志-p-P48i,48i
。-p
告诉groff
将其余选项传递给grops
。-P48i,48i
togrops
将纸张大小设置为48英寸乘48英寸。我想您希望使用-r720
实现720dpi。不管怎样,谢谢你的回答我有一个使用Ghostscriptsharp(C#实现)的应用程序。它只是一个.dll,没有自定义页面大小的所有命令行选项(我可以找到)。有没有关于如何在这个包装器中实现这个的想法?rasterizer.CustomSwitches.Add(“-dMySwitch”);链接断了。固定链接:
gs \
-o output.pdf \
-sDEVICE=pdfwrite \
-r600 \
-g8112x7596 \
-dPDFFitPage \
input.ps