用于从 PS 文件创建裁剪 PDF 的宏

用于从 PS 文件创建裁剪 PDF 的宏

我有 Postscript PS 图像,并编写了一个宏来转换为 PDF,然后裁剪为其边界框大小。该代码工作正常,但我想有一种更直接的方法可以做到这一点。任何帮助,不胜感激。谢谢。

##!/bin/sh
echo 'Convert all PS to PDF in current directory and then crop according to the DAVE 
sizes (5x4in) 1.75,3.5in offset: in standard PS Letter size'
pwd
for f in *.ps
do 
ps2pdf -dEPSCrop "$f"
done
for g in *.pdf
do
pdfcrop --margins "10 10 10 10" "$g"
rm "$g"
done

答案1

你说在评论中您不想存储不需要的中间 PDF 文件。以下是如何在更简单的 shell 脚本中执行此操作:

#!/bin/sh

for name in ./*.ps; do
    ps2pdf -dEPSCrop "$name" - | pdfcrop --margins '10 10 10 10' - "${name%.ps}.pdf"
done

如果您给程序ps2pdf指定输出文件名-.该流可以直接通过管道传输,pdfcrop而无需将其存储在中间文件中。-输入文件的文件名pdfcrop意味着“从标准输入读取”(在本例中是通过管道传入的数据)。

的输出文件pdfcrop将与输入文件同名ps2pdf,但尾部.ps替换为.pdf。这是通过参数替换来完成的(从 值的末尾${name%.ps}.pdf删除,然后附加到结果字符串)。.ps$name.pdf

相关内容