घोस्टस्क्रिप्ट बनाने के लिए कैसे नहीं पीडीएफ मेटाडेटा को मिटा दें


10

घोस्टस्क्रिप्ट पीडीएफ मेटाडेटा को मिटा देता है जैसे author, title, subjectआदि। मैं भूतडॉट मेटाडेटा को नहीं छूने के लिए कैसे कह सकता हूं? मैं इसे इस प्रकार लागू करता हूं:

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

आप घोस्टस्क्रिप्ट का उपयोग क्यों कर रहे हैं? आप जो भी कर रहे हैं, उसे करने का शायद एक और तरीका है। जब किसी पोस्टस्क्रिप्ट फ़ाइल में इनपुट नहीं है, तो घोस्टस्क्रिप्ट का उपयोग करना असामान्य है।
गाइल्स 'एसओ- बुराई को रोकना'

3
@ गिल्स पीडीएफ में छवियों का नमूना लेने के लिए और इस प्रकार आकार को कम करता है। मुझे नहीं लगता कि इनपुट के रूप में पीडीएफ का उपयोग करना असामान्य है। उपकरण pdf2psउदा। रूपांतरण के लिए घोस्टस्क्रिप्ट का उपयोग करता है और साथ में भेज दिया जाता है gs
मार्को

ओके, घोस्टस्क्रिप्ट एक पीडीएफ फाइल में छवियों को डाउन करने का सामान्य तरीका प्रतीत होता है, खुले स्रोत देशी पीडीएफ हेरफेर उपकरण उस संबंध में कमी लगते हैं। वह या इमेजमैजिक, जो केवल छवियों को देखता है और पीडीएफ मेटाडेटा की परवाह नहीं करेगा।
गिल्स एसओ- बुराई को रोकना

2
ImageMagick PDFs को प्रोसेस करने के लिए घोस्टस्क्रिप्ट का उपयोग करता है।
मार्को

@ गिल्स: "जब किसी पोस्टस्क्रिप्ट फ़ाइल में इनपुट नहीं है तो घोस्टस्क्रिप्ट का उपयोग करना असामान्य है।" - बिलकुल नहीं, गाइल्स! मैं इसका उपयोग हर समय, हर दिन पीडीएफ-> पीडीएफ प्रसंस्करण के लिए करता हूं।
कर्ट पफीफेल

जवाबों:


6

जाहिरा तौर पर भूतहास्क्रिप्ट का उपयोग करते समय पीडीएफ मेटाडेटा रखना संभव नहीं है। यहां एक वर्कअराउंड है, जो पहले मेटाडेटा का उपयोग करके किसी फाइल में सेव करता है 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"

संपादित करें: यह घोस्टस्क्रिप्ट में एक बग है, बग रिपोर्ट देखें और पुष्टि करें कि यह होने वाला नहीं है


pdftks dip_data (_utf8) शाब्दिक रूप से चीनी लेबल का उत्पादन करता है। मुझे pdftk के लिए कोई मंच नहीं मिला: या
स्टीफन के।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.