पीडीएफ फाइल से इमेज कैसे निकालें


13

मुझे इसमें एक बहुत बड़ी (~ 100 एमबी) पीडीएफ डॉक्यूमेंट मिली है, जिसमें बहुत सारे चित्र हैं (चित्र और पृष्ठभूमि चित्र के रूप में), और मैं छवियों के बिना उस पीडीएफ की एक कॉपी रखना चाहता हूं, लेकिन मुझे यह नहीं पता है कि कैसे वो करें।

मैं इसे केवल पाठ में परिवर्तित करने के बारे में बात नहीं कर रहा हूं, मैं पैराग्राफ / टेबल / मल्टी-कॉलम रखना चाहूंगा जैसे वे हैं।

मैं कमांड लाइन के साथ सहज हूं और अलग-अलग वितरण वाले कई कंप्यूटर हैं जिनका मैं उपयोग कर सकता हूं।


जैसा कि हम प्रत्येक पृष्ठ पर कई छवियों वाले 500 पृष्ठों के दस्तावेज़ के बारे में बात कर रहे हैं, मैं हर तस्वीर को हटाने के लिए एक स्वचालित तरीके की तलाश कर रहा हूं ।
Ornux

जवाबों:


14
cpdf -draft original.pdf -o version_without_images.pdf

यह रिपॉजिटरी में नहीं है, लेकिन आप उनकी वेबसाइट पर एक डाउनलोड ( पूर्व संकलित या स्रोत ) पा सकते हैं ।


मैनुअल :

15.1 ड्राफ्ट दस्तावेज़

-Draft विकल्प एक फ़ाइल से बिटमैप (फोटोग्राफिक) छवियों को हटाता है, ताकि इसे कम स्याही के साथ मुद्रित किया जा सके। वैकल्पिक रूप से, इनबॉक्स विकल्प को जोड़ा जा सकता है, रिक्त स्थान को भरते हुए एक पार बॉक्स के साथ रिक्त स्थान भरने से यह दर्शाता है कि छवि कहाँ थी। यह सभी मामलों में पूरी तरह से दिखाई देने की गारंटी नहीं है (बिटमैप को वेक्टर ऑब्जेक्ट्स द्वारा आंशिक रूप से कवर किया जा सकता है या मूल में क्लिप किया जा सकता है)। उदाहरण के लिए:

 cpdf -draft -boxes in.pdf -o out.pdf

1
वह वही है जिसकी मुझे तलाश थी। आउटपुट फ़ाइल एकदम सही है। आपको बहुत - बहुत धन्यवाद!
ओरनक्स

@Rinzwind कृपया ध्यान दें कि लिंक "उनकी वेबसाइट" वास्तव में एक ज़िप फ़ाइल में जाती है।
जोस

हम्म .. मेरे लिए यह पाठ में लगभग यादृच्छिक रेखाएँ जोड़ता रहता है, और फ़ाइल का आकार वास्तव में सिकुड़ने के बजाय थोड़ा बढ़ता है।
हेनिंग कोएलेर

23

घोस्टस्क्रिप्ट की नवीनतम रिलीज़ भी ऐसा कर सकती है। बस -dFILTERIMAGEअपने कमांड में पैरामीटर जोड़ें ।

दो और नए पैरामीटर हैं जो सामग्री प्रकार "वेक्टर" और "टेक्स्ट" को हटाने के लिए जोड़े जा सकते हैं :

  1. -dFILTERIMAGE: एक आउटपुट उत्पन्न करता है जहां सभी रेखापुंज चित्र हटा दिए जाते हैं।

  2. -dFILTERTEXT: एक आउटपुट उत्पन्न करता है जहाँ सभी टेक्स्ट एलिमेंट्स हटा दिए जाते हैं।

  3. -dFILTERVECTOR: एक आउटपुट का उत्पादन करता है जहां सभी वेक्टर चित्र हटा दिए जाते हैं।

इन विकल्पों में से किसी भी दो को जोड़ा जा सकता है। (यदि आप सभी 3 को मिलाते हैं, तो आपको सभी पृष्ठ खाली मिलेंगे ...)

उदाहरण

यहाँ एक उदाहरण पीडीएफ पेज से स्क्रीनशॉट है जिसमें उपरोक्त सभी 3 प्रकार की सामग्री शामिल है:

"छवि", "वेक्टर" और "पाठ" तत्वों वाले मूल पीडीएफ पृष्ठ का स्क्रीनशॉट
"छवि", "वेक्टर" और "पाठ" तत्वों वाले मूल पीडीएफ पृष्ठ का स्क्रीनशॉट।


निम्नलिखित 6 आदेशों को चलाने से शेष सामग्री के सभी 6 संभावित बदलाव होंगे:

 gs -o noIMG.pdf -sDEVICE = pdfwrite -dFILTERIMAGE इनपुट.pdf
 gs -o noTXT.pdf -sDEVICE = pdfwrite -dFILTERTEXT इनपुट.pdf
 gs -o noVCT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR input.pdf

 gs -o onlyIMG.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERTEXT input.pdf
 gs -o onlyTXT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERIMAGE input.pdf
 gs -o onlyVCT.pdf -sDEVICE = pdfwrite -dFILTERIMAGE -dFILTERTEXT input.pdf

निम्न छवि परिणामों को दर्शाती है:


शीर्ष पंक्ति, बाएं से: सभी "पाठ" हटा दिए गए; सभी "चित्र" हटा दिए गए; सभी "वैक्टर" को हटा दिया गया। निचला पंक्ति, बाएं से: केवल "पाठ" रखा गया; केवल "चित्र" रखे; केवल "वैक्टर" रखा।
शीर्ष पंक्ति, बाएं से: सभी "पाठ" हटा दिए गए;  सभी "चित्र" हटा दिए गए;  सभी "वैक्टर" को हटा दिया गया।  निचला पंक्ति, बाएं से: केवल "पाठ" रखा गया;  केवल "चित्र" रखे;  केवल "वैक्टर" रखा।



2

जबकि @Rinzwind का उत्तर राइट थिंग है , मैं सिर्फ "मिडवे" समाधान पर टिप्पणी करना चाहूंगा। आप आम तौर पर बहुत का उपयोग कर छवियों के आकार को कम कर सकते हैं Ghostscript साथ

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
   -dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf

... यह प्रूफरीडिंग के लिए कुछ समय के लिए सच है। पीडीएफ लिखने के लिए मैनुअल पेज यहाँ है


@KurtPfeifle /screen(अन्य बातों के अलावा) 72dpi के लिए बिटमैप छवि (s) रिज़ॉल्यूशन सेट करेगा। तो हां, यदि आपके पास छोटी डीपीआई में चित्र हैं, तो यह फ़ाइल का आकार बढ़ा सकता है। यही कारण है कि मैंने "सामान्य रूप से" शब्द का इस्तेमाल किया ("हमेशा नहीं, बल्कि अक्सर" के अर्थ में)। बेझिझक जो कुछ भी आप चाहते हैं उसे कम करने के लिए।
रमनो

यह आदेश चलाएँ for s in screen default ; do gs -o /dev/null -sDEVICE=pdfwrite -dPDFSETTINGS=/${s} -c "currentpagedevice {exch ==only ( ) print === } forall" | sort | tee ghostscript---pdfwrite-PDFSETTINGS-${s}--pagedevice-settings.txt; done:। यह दो पाठ फ़ाइलों का उत्पादन करेगा जिसका उपयोग करके आप तुलना कर सकते हैं sdiff -sbB $[file1}.txt ${file2}.txt। अब आप वास्तव में और पूरी तरह से सभी अलग-अलग सेटिंग्स को पेश करते हैं -dPDFSETTINGS=/screen!
कर्ट पफीले

किया हुआ। फिर भी नहीं देख सकते हैं, जो विकल्प में एक बड़ा फ़ाइल दे सकते हैं /screenकी तुलना में /default--- 72dpi बनाम 150dpi, अनुकूलित किया है, छोड़ें ईपीएस पूर्वावलोकन ... लेकिन हे, नहीं एक बड़ी समस्या। लोग परीक्षण करेंगे और बेहतर समाधान का चयन करेंगे।
रमनो

मुझे खेद है - हो सकता है कि मैं अपने पहले बयान के लिए अब माफी माँगता हूँ। ईमानदारी से कहूं तो मैं सिर्फ लगते हैं मेरे पिछले जांच (कुछ साल वापस) से याद करने के लिए /screenदे दी है वास्तव में बुरा परिणाम है। संभवतः मेरी स्मृति विफल हो जाती है, या मैंने इसे मिला दिया है /epub। मैंने आपको जो आदेश दिया था, वह स्मृति से था क्योंकि मुझे पूरा यकीन था कि यह वही होगा जो मेरा मतलब था। अब मैंने इसे फिर से चलाया, मैं अब नहीं देखता कि मुझे क्या उम्मीद थी: अधिक विस्तारित परीक्षण मैंने कुछ साल पहले चलाए थे। तब बहुत सारे (CID? / CFF?) फोंट को परिणामी PDF के आकार के ब्लॉटिंग आकार मिले। मुझे एक बार फिर से इस मुद्दे पर फिर से आना चाहिए, एक बार जब मेरे पास अधिक समय हो ... :-)
कर्ट फ़ेफ़ेले

0

आप मास्टर पीडीएफ संपादक का उपयोग कर सकते हैं, उन छवियों को हटा सकते हैं और एक नई पीडीएफ फाइल के रूप में सहेज सकते हैं। आप इसे Ubuntu सॉफ्टवेयर सेंटर से डाउनलोड कर सकते हैं।


मैंने इसे स्थापित करने की कोशिश की, लेकिन मुझे ऐसा करने का कोई स्वचालित तरीका नहीं दिख रहा है। यह देखते हुए कि यह एक 500 पृष्ठों का दस्तावेज है, मैं यहां समाधान के रूप में मैनुअल निष्कासन नहीं देखता। क्या मैं कुछ भुल गया ?
Ornux

नहीं, आपने कुछ भी याद नहीं किया, मुझे लगा कि चित्र बड़े आकार के हैं इसलिए आप उन्हें हटाना चाहते हैं, कभी भी इतनी छवियों के बारे में नहीं सोचा। वैसे भी अच्छा सवाल है।
सुधीर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.