![]() |
深情的麻辣香锅 · 如何在PyQt5离线下使用folium地图- ...· 3 月前 · |
![]() |
爱喝酒的紫菜汤 · java的for循环中遇到异常抛出后继续循环 ...· 1 年前 · |
![]() |
阳光的枇杷 · windows下python ...· 1 年前 · |
![]() |
踏实的胡萝卜 · pip安装依赖于github的第三方库_mb ...· 1 年前 · |
![]() |
风度翩翩的莲藕 · 【学习记录】如何使用gdal生成COG+标准 ...· 1 年前 · |
我已经使用ghostscript将pdf文件转换为postscript,在转换过程中,我已经传递了双工选项的页面级参数,如下所示。
gswin32c.exe -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=output.ps \
-c "<</PSPageOptions [ (<</Duplex false>> setpagedevice)
(<</Duplex true>> setpagedevice) (<</Duplex true>> setpagedevice) ]
/LockDistillerParams true>> setdistillerparams" -f input.pdf
有关上述命令,请参阅解决方案链接: https://stackoverflow.com/a/64128881/13696415
现在,我已经添加了2个pdf文件的双工参数,并转换为2个单独的postscript,问题是,当我合并这些pdf和Ghostscript时,它丢失了我在转换为ps时传递的页面级参数。我尝试了下面的建议答案来合并postscript。 https://stackoverflow.com/a/3445325/13696415 为什么在合并时丢失了附加参数?合并时如何保留页级参数?谁来帮帮忙。
合并2个postscript文件时,我可以确认setpagedevice的%%BeginPageSetup条目丢失。即使/LockDistillerParams也无法保存设置。仅使用ghostscript ps2write设备再次运行postscript文件就会导致输出丢弃以前的设置。我怀疑ghostscript每次都会重写它们,如果缺少/PSPageOptions来重做它们。我不知道在合并时保存设置的方法。
我已经尝试了另外两种技术,都取得了不错的效果。
(1)合并2个postscript文件,然后使用ps2write设备将所需设置写入合并后的postscript文件。
gs -dBATCH -dNOPAUSE -sDEVICE=ps2write -sOutputFile=merged.ps -f file1.pdf file2.pdf
gs -dBATCH -dNOPAUSE -sDEVICE=ps2write -sOutputFile=merged-out.ps -c ' << /PSPageOptions [ (<</Duplex false>> setpagedevice) (<</Duplex true>> setpagedevice) (<</Duplex true>> setpagedevice) ] /LockDistillerParams true >> setdistillerparams ' -f merged.ps
(2)使用ghostscript通过ps2write设备合并这两个pdf文件,并在一个操作中包含/PSPageOptions setdistillerparams。我发现这只适用于某些pdf文件。例如,如果pdf文件是用我的Firefox使用的Firefox图形库生成的,那么即使用ghostscript重新蒸馏,这也不起作用。
我在这里测试的是两个12页的行为良好的pdf文件。结果根据需要在第13页显示% page3字符串。字符串可以根据需要更改为使用setpagedevice:
gs -dBATCH -dNOPAUSE -sDEVICE=ps2write -sOutputFile=file1+2.ps -c '<< /PSPageOptions [(% page1)(% page2)(% page3)(% page4)(% page5)] /LockDistillerParams true >>setdistillerparams' -f file1.pdf file2.pdf
附注:请编辑您的原始帖子以显示正确的sDEVICE标注。根据用户的不同,可以省略反斜杠。
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券