私はプログラマーではありませんが、Ghostscriptを使用してPDFをトリミングする方法を学びたいです。
Ghostscript 9.01をマシンにインストールしました。
特定の座標を使用してPDF.
私はGhostscriptを初めて使用します。
まず、PDFの測定単位はPostScriptの場合と同じであることに注意してください。これはpoint[pt ]。
72 points == 1 inch == 25.4 millimeters
A4のページサイズがあると仮定します。メディアの寸法は次のとおりです。
595 points width == 210 millimeters
842 points height == 297 millimeters
切り取りたいと仮定すると:
left Edge: 24 points == 1/3 inch ~= 8.5 millimeters
right Edge: 36 points == 1/2 inch ~= 12.7 millimeters
top Edge: 48 points == 2/3 inch ~= 17.0 millimeters
bottom Edge: 72 points == 1 inch ~= 25.4 millimeters
次に、Ghostscriptコマンドラインは次のとおりです(Windowsの場合):
gswin32c.exe ^
-o cropped.pdf ^
-sDEVICE=pdfwrite ^
-c "[/CropBox [24 72 559 794]" ^
-c " /PAGES pdfmark" ^
-f uncropped-input.pdf
またはLinuxの場合:
gs \
-o cropped.pdf \
-sDEVICE=pdfwrite \
-c "[/CropBox [24 72 559 794]" \
-c " /PAGES pdfmark" \
-f uncropped-input.pdf
ただし、これはすべてのタイプのPDFで確実に機能するとは限りません [1]。これらの場合、代わりにこれらのコマンドを試してください:
gswin32c.exe ^
-o cropped.pdf ^
-sDEVICE=pdfwrite ^
-dDEVICEWIDTHPOINTS=595 ^
-dDEVICEHEIGHTPOINTS=842 ^
-dFIXEDMEDIA ^
-c "24 72 translate" ^
-c " 0 0 535 722 rectclip" ^
-f uncropped-input.pdf
または
gs \
-o cropped.pdf \
-sDEVICE=pdfwrite \
-dDEVICEWIDTHPOINTS=595 \
-dDEVICEHEIGHTPOINTS=842 \
-dFIXEDMEDIA \
-c "24 72 translate" \
-c " 0 0 535 722 rectclip" \
-f uncropped-input.pdf
[^]: 具体的には、特定の値に既に定義されている独自の/CropBox
が付属しているPDFでは機能しません。これを回避するための不正な方法は、上記のGSコマンドを実行する前に、テキストエディターで/CropBox
(または同様の大文字と小文字の変更)が必要なすべてのページの文字列/cROPBoX
を変更することです。大文字と小文字の変更は、クロップボックス設定を効果的に「解除」します(PDFオブジェクトオフセットを変更せずに既存のxref
テーブルを無効にする)。したがって、PDFレンダラー。