PDF के भीतर क्या है: ऑब्जेक्ट, स्ट्रीम और क्रॉस-रेफ़रेंस तालिका
PDF क्रमांकित ऑब्जेक्ट, संपीड़ित स्ट्रीम और बाइट-ऑफ़सेट के xref का ग्राफ़ है। Get Info उसे निरीक्षित करता है; नक़्शा टूटने पर Repair संरचना दोबारा बनाता है।

एक PDF सपाट पेजों का ढेर नहीं है। यह ऑब्जेक्ट का छोटा डेटाबेस है, जिनमें से कई संपीड़ित स्ट्रीम के रूप में रखे जाते हैं, और एक क्रॉस-रेफ़रेंस तालिका (xref) से पाए जाते हैं ताकि पाठक पूरी फ़ाइल स्कैन किए बिना ऑब्जेक्ट 17 पर कूद सके। जब वह नक़्शा टूटता है, तो व्यूअर फ़ाइल को खराब कहते हैं, भले ही पेज के बाइट्स अब भी डिस्क पर पड़े हों।
ऑब्जेक्ट
हर दिलचस्प चीज़ (पेज, फ़ॉन्ट, इमेज, मेटाडेटा, दस्तावेज़ कैटलॉग) एक नंबर वाला ऑब्जेक्ट है। पेज कंटेंट स्ट्रीम और संसाधनों की ओर इशारा करते हैं; संसाधन फ़ॉन्ट और XObject की ओर; कैटलॉग पेज वृक्ष की ओर। जो टूल मर्ज, घुमाव या मुहर लगाते हैं, वे ज़्यादातर उसी ग्राफ़ को दोबारा लिखते हैं, पिक्सेल दोबारा नहीं बनाते।
स्ट्रीम
स्ट्रीम ऐसा ऑब्जेक्ट है जिसका पेलोड बाइट-क्रम है, अक्सर Flate-संपीड़ित: पेज कंटेंट ऑपरेटर, एम्बेडेड फ़ॉन्ट फ़ाइलें, इमेज डेटा। इसीलिए PDF को टेक्स्ट एडिटर में खोलने पर ASCII टोकन और बाइनरी ब्लॉब मिले-जुले दिखते हैं। पेजों का रूप बदले बिना स्ट्रीम खोलना डीबगिंग के लिए उपयोगी है; इस साइट पर Compress उन स्ट्रीम को qpdf से दोबारा संपीड़ित करता है, इमेज डाउनसैंपल या फ़ॉन्ट सबसेट नहीं करता।
क्रॉस-रेफ़रेंस तालिका
आम फ़ाइल के अंत के पास एक xref खंड (या नई फ़ाइलों में xref स्ट्रीम) हर ऑब्जेक्ट नंबर के लिए बाइट-ऑफ़सेट की सूची देता है। पाठक उन ऑफ़सेट पर पहुँचते हैं। कटे डाउनलोड, खराब मर्ज और अधूरे सेव अक्सर ट्रेलर को ऐसे ऑफ़सेट पर छोड़ देते हैं जो अब मेल नहीं खाते। पहले पेज के पिक्सेल अब भी मौजूद हो सकते हैं; “पहला पेज” ढूँढने वाला नक़्शा नहीं।
इसीलिए संरचनात्मक मरम्मत, OCR या अनलॉक से अलग काम है: मरम्मत मान्य बचे हिस्सों से आंतरिक संरचना दोबारा बनाती है; यह गुम पेज-कला नहीं गढ़ती या पासवर्ड का अनुमान नहीं लगाती।
दोबारा लिखने से पहले निरीक्षण करें
Get Info on PDF JSON रिपोर्ट लौटाता है (पेज-संख्या, मेटाडेटा, फ़ॉन्ट, संरचनात्मक ब्योरा), बदली हुई PDF नहीं। जब संपीड़न, रूपांतरण या मरम्मत से पहले यह जानना हो कि हाथ में क्या है, तब इसे इस्तेमाल करें।
अगर व्यूअर फ़ाइल बिल्कुल खोलने से इनकार करे, तो Repair PDF आज़माएँ, जो क्रॉस-रेफ़रेंस सुधार सहित संरचना दोबारा बनाता है। अगर फ़ाइल खुलती है पर स्कैन किया टेक्स्ट चुना नहीं जा सकता, तो वह OCR की समस्या है, xref की नहीं।
छोटा निर्णय-क्रम
- फ़ाइल नहीं खुलती → पहले Repair।
- फ़ाइल खुलती है; तथ्य चाहिए (पेज, फ़ॉन्ट, एन्क्रिप्शन संकेत) → Get Info।
- संरचना ठीक है; छोटी फ़ाइल या स्कैन से पढ़ने-योग्य टेक्स्ट चाहिए → आकार के लिए Compress, या Markdown टेक्स्ट के लिए OCR, कोई और मरम्मत-चक्र नहीं।
Get Info और Repair दोनों बिना खाते के चलते हैं। वही प्रचालन HTTP पर करने के लिए Developers देखें। Repair ब्रांडेड डेस्कटॉप “recovery” उत्पादों से कैसे अलग है, यह PDF Repair ऑनलाइन बनाम Recovery Toolbox खोजें में देखें।