Ghostscript'in PDF meta verilerini silmemesi


10

Ghostscript, PDF meta verilerini author, title, subjectvb. Siler. Ghostscript'e meta verilere dokunmamasını nasıl söyleyebilirim? Ben şöyle çağırıyorum:

gs \
  -dBATCH                    \
  -dNOPAUSE                  \
  -sOutputFile=<output_file> \
  -sDEVICE=pdfwrite          \
  -dPDFSETTINGS=/ebook       \
  <input_file>

Neden Ghostscript kullanıyorsunuz? Muhtemelen yaptıklarınızı yapmanın başka bir yolu var. Giriş bir Postscript dosyası olmadığında Ghostscript kullanmak nadirdir.
Gilles 'SO- kötü olmayı bırak'

3
@Gilles PDF'deki görüntüleri aşağı örneklemek ve boyutu küçültmek. PDF'yi giriş olarak kullanmanın nadir olduğunu düşünmüyorum. Araç, pdf2psörneğin dönüşüm için ghostscript kullanır ve birlikte gönderilir gs.
Marco

Tamam, Ghostscript bir PDF dosyasındaki görüntüleri aşağı örneklemenin normal yolu gibi görünüyor, açık kaynak yerel PDF manipülasyon araçları bu açıdan eksik görünüyor. Yalnızca görüntülere bakan ve PDF meta verilerini umursamayan ImageMagick.
Gilles 'SO- şeytan olmayı bırak'

2
ImageMagick, PDF'leri işlemek için ghostscript kullanır.
Marco

@Gilles: "Giriş bir Postscript dosyası olmadığında Ghostscript kullanmak nadirdir." - Kesinlikle, Gilles! Her zaman, her gün PDF-> PDF işleme yapmak için kullanıyorum.
Kurt Pfeifle

Yanıtlar:


6

Görünüşe göre ghostscript kullanırken PDF meta verilerini tutmak mümkün değildir. Burada, ilk önce meta verileri kullanarak bir dosyaya kaydeden pdftk, ardından dosyayı ile sıkıştıran ghostscript ve son olarak da kullanarak meta verileri yazan bir geçici çözüm bulunmaktadır 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"

Düzenleme: Bu ghostscript bir hata, bkz. Hata raporu ve bunun olması gerekiyordu onay .


pdftks dump_data (_utf8) tam anlamıyla Çince etiketler çıkarır. Ben de bir forum bulamadım :(
Stefan K.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.