मैं दूषित PDF फ़ाइल को कैसे ठीक / सुधार सकता हूं?


79

क्या किसी के पास भ्रष्ट पीडीएफ की मरम्मत के लिए कोई सिफारिश या प्रक्रिया है? जब मुझे फ़ाइल मिलती है, तो मुझे "इस दस्तावेज़ को खोलने में एक त्रुटि हुई। फ़ाइल क्षतिग्रस्त है और इसकी मरम्मत नहीं की जा सकती है।" ऐसा लगता है कि वहाँ औजारों का एक बहुत कुछ है, लेकिन कोई भी जिसे मैं सम्मानित नहीं कर सकता था। क्या संभवतः इसके लिए कोई ओपनसोर्स लिनक्स आधारित समाधान है?


Opensource PDF उपकरण बहुत भद्दे लगते हैं, मुझे डर लगता है। तुम क्या प्रयोग कर रहे हो?
शैतानिकपुपी

यह भी देखें: superuser.com/questions/166999/...
slhck

किसी भी उपकरण के लुक को पसंद नहीं किया क्योंकि वे "रजिस्ट्री क्लीनर" के असंख्य की तरह दिखते थे जो बेकार हैं। कोशिश कर रहा है Adobe Pro और अभी देखना शुरू किया है कि क्या घोस्टस्क्रिप्ट या PDFForge में कोई मरम्मत स्विच है।
टिम सिकंदर

घोस्टस्क्रिप्ट ठीक है, लेकिन यह एक्रोबैट से बेहतर नहीं है। यह पूरी तरह से नंगे हड्डियां हैं।
शैतानिकप्यूपी

6
@Satanicpuppy मैं असहमत हूं: मैं क्षतिग्रस्त या कम-गुणवत्ता वाले pdfs को फिर से बनाने के लिए भूत-प्रेत का उपयोग करता हूं और यह बहुत अच्छा प्रदर्शन करता है।
एडी बी

जवाबों:


99

घोस्टस्क्रिप्ट आपके दूषित पीडीएफ को स्वचालित रूप से ठीक कर देगा ... यदि यह इसे पहली जगह में खोल सकता है (अर्थात, यदि यह मरम्मत से परे क्षतिग्रस्त नहीं है)। लेकिन इसके बाद भी आपको परिणाम को दोबारा जांचना होगा ...

लिनक्स पर, इस कमांड को आजमाएँ:

 gs \
  -o repaired.pdf \
  -sDEVICE=pdfwrite \
  -dPDFSETTINGS=/prepress \
   corrupted.pdf

Windows पर, इसे आज़माएँ:

 gswin32c.exe ^
  -o repaired.pdf ^
  -sDEVICE=pdfwrite ^
  -dPDFSETTINGS=/prepress ^
   corrupted.pdf

2
Ghostscript pdfs को रेंडर करने का एक शानदार काम करता है ... मैं नियमित रूप से फ़ॉन्ट गुणवत्ता में सुधार करने के लिए pdfs के पुनर्निर्माण के लिए gs का उपयोग करता हूं।
एडी बी

1
/ Prepress गुणवत्ता / स्क्रीन की तुलना में वास्तव में अच्छा बनाते हैं। धन्यवाद।
डोलानर

मुझे "XREF तालिका पढ़ने के दौरान एक त्रुटि हुई।" इसका क्या मतलब है?
गेरमीया

इसका मतलब है कि सामग्री की आंतरिक तालिका (पीडीएफ में एक्सआरएफ तालिका के रूप में क्या है ) में एक त्रुटि थी, जो पीडीएफ ऑब्जेक्ट के लिए गलत बाइट ऑफसेट की ओर इशारा करती है। घोस्टस्क्रिप्ट ने बहुत ही संभावना के साथ उस त्रुटि की मरम्मत की और आउटपुट में एक सही XREF तालिका डाली। आप घोस्टस्क्रिप्ट के माध्यम से एक बार और आउटपुट चलाकर इसे देख सकते हैं और देखें कि क्या यह संदेश अभी भी दिखाई देता है।
कर्ट पाइफेल

37

मेरे पास एक दूषित पीडीएफ फाइल थी, print.pdfजो कि घोस्टस्क्रिप्ट नहीं खोल सकती थी, लेकिन सामान्य रूप से चित्रमय लिनक्स पीडीएफ दर्शक (ओकुलर, एवियन) ठीक खुलते थे। (मेरे मामले में, फ़ाइल में पीडीएफ हेडर के बजाय शुरुआत में कचरा था, जब एक हेक्स संपादक में खोला गया था।)

ये पीडीएफ दर्शक पॉपलर को बैक-एंड पीडीएफ रेंडरर के रूप में उपयोग करते हैं। इसलिए आप पॉपलर की कमांड लाइन टूल्स का उपयोग करके पीडीएफ को रिपेयर कर सकते हैं। उबंटू में ये poppler-utilsपैकेज में हैं। मैंनें इस्तेमाल किया:

pdftocairo -pdf print.pdf print_repaired.pdf

जो सही हेडर के साथ एक पीडीएफ फाइल उत्पन्न करता है, जिसे घोस्टस्क्रिप्ट जैसे उपकरण स्वीकार किए जाते हैं।


3
+1 ने बिना किसी शिकायत के मेरी क्वार्ट्ज जनरेट की गई पीडीएफ को पढ़ा, और तुरंत आउटपुट जनरेट करना शुरू कर दिया। घोस्टस्क्रिप्ट, एडोब एक्रोबैट प्रो और अन्य ने पहले मेरे 120 जीबी पीडीएफ के पुनर्निर्माण पर जोर दिया।
Orwellophile

यह मेरे द्वारा आए कम से कम एक अजीब पीडीएफ के लिए काम नहीं करता था, लेकिन यह एक अच्छी शुरुआत की तरह लगता है।
ब्रायन पीटरसन

1
पूरी तरह से एक पीडीएफ पर काम करता है, जिस पर घोस्टस्क्रिप्ट, पृष्ठों पर कुछ मनमाने तत्वों को निकालना चाहता था।
एंड्रिया लज्जाज़ारो

घोस्टस्क्रिप्ट दस्तावेज़ को पढ़ने में विफल रहा, लेकिन यह एक आकर्षण की तरह काम करता था। BTW मैंने नए लिनक्स सबसिस्टम का उपयोग करके विंडोज पर ऐसा किया, इतना अच्छा!
HyLian

24

mutool( प्रोजेक्ट पेज , मैनपेज ) बिना टूटे हुए पीडीएफ की मरम्मत करेगा ।

  • उबंटू पर स्थापना जैसे: sudo apt-get install mupdf-tools
  • इसे इस तरह चलाएं: mutool clean input.pdf output.pdf
mutool clean [options] input.pdf [output.pdf] [pages]

  The clean command pretty prints and rewrites the syntax of a PDF file.
   It can be used to repair broken files, expand compressed streams,
   filter out a range of pages, etc.
  If no output file is specified, it will write the cleaned PDF to
   "out.pdf" in the current directory.

वैकल्पिक रूप से, कुछ उपकरण और चौखटे हैं जो पीडीएफ घटकों को उनके प्रतिपादन के बिना अपघटित / विघटित कर सकते हैं। ये टेक्स्ट, स्क्रिप्ट और इमेज निकालने के लिए उपयोगी हो सकते हैं। इस उत्तर को ऐसे उपकरणों की सूची के लिए देखें: https://reverseengineering.stackexchange.com/q/1526/8210 । उदाहरण के लिए, आप मौजूदा शीर्ष उत्तर Origami की कोशिश कर सकते हैं , इसमें GTK- आधारित दर्शक है।


3
यह समाधान ऊपर दिए गए या बेहतर रैंक वाले समाधानों की तुलना में "बेहतर" काम करता है, क्योंकि यह पीडीएफ फाइल को "प्रिंट" नहीं करता है और लिंक, क्लिक करने योग्य वस्तुओं आदि को सक्रिय रखता है ... मेरे लिए, यह घोस्टस्क्रिप्ट का उपयोग करने की तुलना में अधिक सुरुचिपूर्ण समाधान लगता है या कैरो।
स्पेरडेन

1
दुर्भाग्य से, mutool cleanसभी संभावित त्रुटियों को ठीक नहीं करता है। मेरे पास एक फ़ाइल है जिसमें फ़ॉन्ट और सामग्री धाराओं में विभिन्न त्रुटियां हैं, और म्यूटूल उन त्रुटियों को रखेगा।
डोमिनिक होनफ

1
@DominikHonnef आप हमेशा उन टूल्स / फ्रेमवर्क को आज़मा सकते हैं जो पीडीएफ को अपघटित करते हैं और आपको सभी भागों को उन्हें प्रस्तुत किए बिना देखने की अनुमति देते हैं। इससे आपको सीधे पाठ, स्क्रिप्ट, चित्र आदि प्राप्त करने में सक्षम होना चाहिए। उपकरणों की सूची के लिए इस उत्तर को देखें: revengineering.stackexchange.com/q/1526/8210
jmiserez

केवल एक चीज जो मेरे लिए काम करती है!
जामदग्नि

यह बेहतर काम किया क्योंकि यह पीडीएफ को प्रस्तुत नहीं करता है यह दस्तावेज़ की जांच करता है।
riccs_0x

10

मेरे पास एक भ्रष्ट पीडीएफ फाइल थी, क्योंकि इसे डाउनलोड करने के लिए इस्तेमाल होने वाली php फाइल अंत में कुछ त्रुटियों (HTML में) और NUL वर्णों को प्रतिध्वनित करती थी।

समाधान यह था कि नोटपैड ++ के साथ पीडीएफ खोलें और लाइन के बाद सभी पाठ हटा दें

%%EOF

वही था, Adobe Reader नहीं खुला लेकिन देशी मैक, क्रोम और फ़ायरफ़ॉक्स पीडीएफ प्लगइन ने पीडीएफ फाइल को ठीक से प्रदर्शित किया। अपलोड के दौरान अंतिम पंक्ति में कारण अतिरिक्त "NUL" भी था।
तिलो

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