我有后记 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
您在评论中说您不想存储不需要的中间 PDF 文件。以下是如何在更简单的 shell 脚本中执行此操作:
如果你给它一个输出文件名,
ps2pdf
程序可以写入它的标准输出流-
。该流可以直接通过管道传输,pdfcrop
而无需将其存储在中间文件中。-
输入文件的文件名pdfcrop
表示“从标准输入读取”(在这种情况下,数据通过管道传入)。的输出文件
pdfcrop
将与 的输入文件同名ps2pdf
,但尾随.ps
替换为.pdf
。这是通过参数替换来完成的(从 的值的末尾${name%.ps}.pdf
删除,然后附加到结果字符串)。.ps
$name
.pdf