अन्य उत्तरों में उल्लिखित GUI- आधारित टूल के अलावा, कुछ कमांड लाइन टूल हैं जो मूल पीडीएफ स्रोत कोड को एक अलग प्रतिनिधित्व में बदल सकते हैं जो आपको पाठ संपादक के साथ (अब संशोधित फ़ाइल) का निरीक्षण करने देता है। नीचे दिए गए सभी उपकरण लिनक्स, मैक ओएस एक्स, अन्य यूनिक्स सिस्टम या विंडोज पर काम करते हैं।
qpdf (मेरा मनपसंद)
(अधिकतर) ऑब्जेक्ट की धाराओं को अनपेक्षित करने के लिए qpdf का उपयोग करें और ObjStmवस्तुओं को व्यक्तिगत अप्रत्यक्ष वस्तुओं में भी विच्छेदित करें:
qpdf --qdf --object-streams=disable orig.pdf uncompressed-qpdf.pdf
qpdf एक उपकरण के रूप में वर्णन करता है "पीडीएफ फाइलों पर संरचनात्मक, सामग्री-संरक्षण परिवर्तन" करता है ।
फिर बस खुला + का निरीक्षण करें uncompressed-qpdf.pdf अपने पसंदीदा टेक्स्ट एडिटर में फ़ाइल को । पहले से संपीड़ित (और इसलिए, बाइनरी) बाइट्स का अधिकांश हिस्सा अब सादा पाठ होगा।
mutool
वहाँ भी है mutoolकमांड लाइन टूल है जो के साथ आता MuPDF PDF व्यूअर (जो Ghostscript करने के लिए एक बहन उत्पाद है, एक ही कंपनी, द्वारा किए गए कलाकार )। निम्न आदेश भी स्ट्रीम को अनकम्प्रेस्ड करता है और उन्हें टेक्स्ट एडिटर के माध्यम से निरीक्षण करना अधिक आसान बनाता है:
mutool clean -d orig.pdf uncompressed-mutool.pdf
podofouncompress
PoDoFo PDF प्रारूप के साथ काम करने के लिए एक FreeSoftware / OpenSource लाइब्रेरी है और इसमें कुछ कमांड लाइन टूल शामिल हैं, जिनमें शामिल हैंpodofouncompress। पीडीएफ धाराओं को अनलॉकर करने के लिए इसे इस तरह उपयोग करें:
podofouncompress orig.pdf uncompressed-podofo.pdf
peepdf.py
PeePDF एक पायथन-आधारित उपकरण है जो आपको पीडीएफ फाइलों का पता लगाने में मदद करता है। इसका मूल उद्देश्य पीडीएफ-आधारित मैलवेयर के अनुसंधान और विच्छेदन के लिए था, लेकिन मुझे यह पूरी तरह से सौम्य पीडीएफ फाइलों की संरचना की जांच करने के लिए भी उपयोगी लगता है।
यह एक पीडीएफ में निहित वस्तुओं और धाराओं को "ब्राउज़" करने के लिए अंतःक्रियात्मक रूप से उपयोग किया जा सकता है।
मैं यहाँ एक उपयोग का उदाहरण नहीं दूंगा, लेकिन केवल इसके दस्तावेज़ीकरण की एक कड़ी:
pdfid.py तथा pdf-parser.py
pdfid.pyऔर अजगर में लिखे डिडिएर स्टीवंस केpdf-parser.py दो पीडीएफ टूल हैं ।
उनकी पृष्ठभूमि दुर्भावनापूर्ण पीडीएफ का पता लगाने में मदद करने के लिए भी है - लेकिन मुझे सौम्य पीडीएफ फाइलों की संरचना और सामग्री का विश्लेषण करना भी उपयोगी लगता है।
यहाँ एक उदाहरण है कि मैं पीडीएफ ऑब्जेक्ट न की असम्पीडित धारा कैसे निकालूंगा। 5 में एक .dump फ़ाइल:
pdf-parser.py -o 5 -f -d obj5.dump my.pdf
अंतिम नोट्स
कृपया ध्यान दें कि पीडीएफ के अंदर कुछ बाइनरी पार्ट्स आवश्यक रूप से असंगत नहीं हैं (या मानव पठनीय एएससीआईआई कोड में डिकोड-सक्षम हैं), क्योंकि वे पीडीएफ के अंदर अपने मूल प्रारूप में एम्बेडेड और उपयोग किए जाते हैं। ऐसे पीडीएफ भाग JPEG चित्र, फोंट या आईसीसी रंग प्रोफाइल हैं।
आप उपकरण और दिए गए आदेश पंक्ति ऊपर दिए गए उदाहरणों की तुलना करें, आपको लगता है कि वे करते हैं पता चल जाएगा नहीं सभी समान आउटपुट का उत्पादन। अपने आप में उनके अंतर के लिए उनकी तुलना करने का प्रयास आपको पीडीएफ सिंटैक्स और फ़ाइल प्रारूप की प्रकृति को बेहतर ढंग से समझने में मदद कर सकता है।