GhostscriptがPDFメタデータを消去しないようにする方法

GhostscriptがPDFメタデータを消去しないようにする方法

author, title, subjectGhostscriptは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

関連情報