author, title, subject
GhostscriptはPDFメタデータなどを削除します。 Ghostscriptにメタデータに触れないようにどのように伝えることができますか?私はそれを次のように呼ぶ:
gs \
-dBATCH \
-dNOPAUSE \
-sOutputFile=<output_file> \
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/ebook \
<input_file>
答え1
明らかに、Ghostscriptを使用するとPDFメタデータを保存できません。以下は、まずメタデータをファイルに保存し、ファイルを圧縮してpdftk
最後ghostscript
にメタデータを書き換える方法を使用する回避策ですpdftk
。
INPUTPDF=<input_file>
OUTPUTPDF=<output_file>
TMPPDF=$(mktemp)
METADATA=$(mktemp)
# save metadata
pdftk "$INPUTPDF" dump_data_utf8 > "$METADATA"
# compress
gs \
-q \
-sOutputFile="$TMPPDF" \
-sDEVICE=pdfwrite \
-dNOPAUSE \
-dBATCH \
-dPDFSETTINGS=/ebook \
"$INPUTPDF"
# restore metadata
pdftk "$TMPPDF" update_info_utf8 "$METADATA" output "$OUTPUTPDF"
# clean up
rm -f "$TMPPDF" "$METADATA"
編集する:これはGhostscriptのバグです。エラーレポートそしてこれが起こらないようにしてください。。
答え2
Exiftoolを使用してソースファイルからメタデータをコピーします。
exiftool -tagsFromFile input.pdf output.pdf