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ファイルを保存したくありません。より簡単なシェルスクリプトでこれを行う方法は次のとおりです。
#!/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