我使用 TeXLive 2010,并按照以下 6 步工作流程完成工作。我希望尽可能减少步骤数,因为我将把工作流程应用于基于 Web 的系统。
latex %1
dvips %1
ps2pdf -dPDFSETTINGS#/prepress %1.ps
gswin32c -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dSAFER -dNOPAUSE -dQUIET -dBATCH -sOutputFile=%1-temp.pdf %1.pdf
pdfcrop --hires %1-temp.pdf %1.pdf
pdftops -eps %1.pdf
我知道步骤 3、4 和 5 在内部调用 GhostScript。简而言之,如何将它们组合成单个 GhostScript 调用?
我目前的努力
我尝试按如下方式结合步骤 3 和 4,并且有效。
latex %1
dvips %1
ps2pdf -dCompatibilityLevel=1.5 -dPDFSETTINGS#/prepress %1.ps
rename %1.pdf %1-temp.pdf
pdfcrop --hires %1-temp.pdf %1.pdf
pdftops -eps %1.pdf
我仍然对结合上述步骤 3 和步骤 5 感兴趣。
答案1
您不能合并步骤 3 和步骤 5。步骤 3 和步骤 4 用于-sDEVICE=pdfwrite
合并。步骤 5 用于-sDEVICE=bbox
查找 bbox。您需要单独运行 gs 才能使用单独的设备。
您可以将rename %1.pdf %1-temp.pdf
步骤 3改为 ,从而用 消除修订后的步骤 4。ps2pdf -dCompatibilityLevel#1.5 -dPDFSETTINGS#/prepress %1.ps %1-temp.pdf
顺便说一下,我需要将=
改为。#
-dCompatibilityLevel#1.5
不值得进一步优化。如果您计划在用户提供的代码的 Web 系统上运行此代码,则请注意所有安全风险。您最好添加到-R
,dvips
并注意在内部pdfcrop
执行pdftex
(pdfcrop --restricted
有点帮助)等等。