छोटा जवाब
PDF अपने पन्नों की तस्वीर नहीं है। वह एक कंटेनर है, और पन्ने उस खेप का बस वही हिस्सा हैं जो दिखाया जाता है। उनके इर्द-गिर्द इस फ़ॉर्मैट में जगह है: दस्तावेज़ की जानकारी का एक ब्लॉक, उसी की एक दूसरी XML नकल, टिप्पणियाँ, फ़ॉर्म का डेटा, जोड़ी हुई फ़ाइलें — और एडिट सहेजने के एक बेहद आम तरीके के ज़रिए, दस्तावेज़ के पूरे के पूरे पुराने रूप, मौजूदा रूप के नीचे तह-दर-तह।
इनमें से कुछ भी खोट नहीं है। हर हिस्सा किसी वाजिब काम के लिए बना था, और एक ही संस्था के भीतर इनमें से ज़्यादातर बेधड़क अपनाने लायक या काम के हैं। दिक्कत सरहद पार करने में है: जिस पल PDF बाहर निकलता है — सामने वाले पक्ष के पास, किसी मेलिंग-लिस्ट पर, किसी सार्वजनिक मिसिल में — उसे जो-जो याद है सब साथ जाता है, और जो याद है वह किसी पन्ने पर नहीं दिखता। लोग जाँचते हैं कि दस्तावेज़ कहता क्या है, और भेज देते हैं वह जो फ़ाइल में भरा है — और ये दो अलग चीज़ें हैं।
नाम की पट्टी: /Info और XMP पैकेट
हर PDF दस्तावेज़-जानकारी का एक शब्दकोश रख सकता है: लेखक, शीर्षक, बनाने और बदलने की तारीखें, और उन प्रोग्रामों के नाम जिन्होंने उसे बनाया। ज़्यादातर फ़ाइलें वही तथ्य एक और, ज़्यादा भरे-पूरे रूप में भी रखती हैं — भीतर जड़ा XML, जिसका नाम XMP है। दोनों में से कोई पन्नों के साथ नहीं दिखता; दोनों बस एक प्रॉपर्टीज़-पैनल की दूरी पर हैं।
ये खाने अपने आप भरते हैं, और रिसाव की जड़ यही है। लेखक आम तौर पर वह खाता-नाम है जिससे ऑपरेटिंग सिस्टम सेट हुआ था — एक असली, पूरा नाम, ऐसे दस्तावेज़ों पर जिन्हें उनके लिखने वाले गुमनाम समझते थे: अर्ज़ियाँ, समीक्षाएँ, शिकायतें, बोलियाँ। शीर्षक प्राय: उस फ़ाइल का नाम होता है जिससे PDF निर्यात हुआ, तो Draft-v7-legal-concerns.docx उस चमकाए हुए PDF के भीतर ज़िंदा रहता है जो उसकी जगह लेने आया था। प्रोड्यूसर की पंक्ति सॉफ़्टवेयर की तारीख बताती है; तारीखें गढ़ी हुई कहानियों को काटती हैं। संस्थाओं के PDF इस ब्लॉक में क्या-क्या कबूल करते हैं, इस पर पूरे के पूरे शोध लिखे जा चुके हैं।
बिन माँगा अन-डिलीट: इंक्रीमेंटल सेव
कंटेनर की सबसे धारदार चीज़ वही है जिस पर इस फ़ॉर्मैट को सबसे ज़्यादा नाज़ है। PDF इंक्रीमेंटल अपडेट की इजाज़त देता है: फ़ाइल को नए सिरे से लिखने की जगह एडिटर अपने बदलाव आखिर में जोड़ सकता है और पहले का सब कुछ ज्यों का त्यों छोड़ सकता है। व्यूअर फ़ाइल को पीछे से पढ़ता है और सबसे नया रूप दिखाता है; पुराने रूप वहीं हैं, बाइट-दर-बाइट, उसी फ़ाइल में।
जोड़कर सहेजना तेज़ है और क्रैश से बचा लेता है — और मतलब यह कि इस तरह एडिट हुआ दस्तावेज़ अपनी कहानी खुद ढोता है। “मिटाया” टेक्स्ट गया नहीं है: बस पीछे छूट गया है, और उसे वापस पाना फ़ाइल को वैसे पढ़ना भर है जैसी वह आखिरी जोड़ से पहले थी। जो एडिटर इंक्रीमेंटल सेव करता है, उसमें किसी नाम पर खींचा गया काला आयत ऐसी फ़ाइल बनाता है जिसमें वह नाम दो बार है — एक बार आयत के नीचे, एक बार कहानी में — यानी रिडैक्शन वाली गाइड की नाकामी दुगनी।
इलाज है पूरी नई लिखाई: फ़ाइल खोलिए, वही रखिए जो मौजूदा रूप सचमुच इस्तेमाल करता है, बिना अतीत की नई फ़ाइल लिखिए। यहाँ का PDF कंप्रेसर बनावट से ही यह करता है: नई लिखाई कहानी को छोड़े बिना रह ही नहीं सकती, और टूल अपने साइज़-ब्योरे में वह पीछे छूटा माल गिनकर दिखाता है — जो यह पता लगाने का भी सबसे आसान रास्ता है कि आपकी फ़ाइल की कोई कहानी थी भी।
माल-गोदाम: टिप्पणियाँ, फ़ील्ड, अटैचमेंट, परतें
बाकी याददाश्त ज़्यादा मामूली है, और फिर भी रिसती है:
- टिप्पणियाँ और एनोटेशन — समीक्षा की बातचीत, समीक्षित दस्तावेज़ के साथ सफ़र करती हुई, हर उस शख्स को दिखती है जिसे देखना सूझ जाए।
- फ़ॉर्म फ़ील्ड अपने भरे हुए मान डेटा की तरह रखे रहते हैं, वहाँ भी जहाँ चपटा किया पन्ना उन्हें अब दिखाता नहीं।
- अटैचमेंट: PDF किसी भी किस्म की पूरी फ़ाइलें भीतर जड़ सकता है, और व्यूअर उन्हें उस साइड-पैनल में दिखाते हैं जिसे ज़्यादातर लोगों ने कभी खोला ही नहीं। चार्ट के पीछे की स्प्रेडशीट कभी-कभी चार्ट के साथ नत्थी चली जाती है।
- वैकल्पिक कंटेंट-परतें पन्ने का ऐसा कंटेंट रख सकती हैं जो हटाया नहीं, बस बुझा दिया गया: पूरा का पूरा मौजूद, दिखाया कभी नहीं।
इनमें से हर चीज़ वह डेटा है जो पन्ने नहीं दिखाते, ऐसी फ़ाइल में जिसे लोग उसके पन्नों से परखते हैं।
PDF को उसकी याददाश्त के बिना भेजना
इस सबका सूत्र: क्या बचेगा यह उस तरीके से तय होता है जिससे फ़ाइल लिखी गई — तो इलाज है उसे किसी ऐसी चीज़ से गुज़ारना जो भुलक्कड़ होकर लिखे, आपकी अपनी मशीन पर। दस्तावेज़ की कहानी ठीक वही चीज़ है जो किसी अजनबी के सर्वर पर नहीं चढ़ानी चाहिए — यह दलील अपलोड वाली गाइड पूरी करती है। इस साइट के तीन टूल PDF लिखते हैं, और तीनों याददाश्त बाहर छोड़ने के लिए ही बने हैं:
- PDF जोड़ने-बाँटने वाला टूल अपना नतीजा बिना किसी जानकारी-शब्दकोश के लिखता है — न लेखक, न तारीखें, न सॉफ़्टवेयर का नाम लेती कोई पंक्ति। आपके मूल दस्तावेज़ों से वह वही उठाता है जो उनके पन्ने इस्तेमाल करते हैं, उनका सामान नहीं। गाइड मौजूद है।
- PDF कंप्रेसर फ़ाइल पूरी नए सिरे से लिखता है — पीछे छूटी कहानी वहीं छूटती है, XMP पैकेट और ऐप्लिकेशनों का निजी डेटा रखा नहीं जाता — और जो हटाया उसका ब्योरा देता है। इसकी भी गाइड है।
- PDF रिडैक्टर, उन मौकों के लिए जब याददाश्त ही असल मुद्दा हो: हर चक्कर में वह रिडैक्शन के साथ-साथ जानकारी-ब्लॉक, XMP पैकेट, बुकमार्क, टिप्पणियाँ, फ़ील्ड के मान और अटैचमेंट भी साफ़ करता है — उसकी गाइड सब कुछ घुमाकर दिखाती है।
और स्वीकृति-परीक्षा रिसाव का आईना है: फ़ाइल को परखिए, पन्नों को नहीं। प्रॉपर्टीज़-पैनल खोलकर पढ़िए कि क्या बचा है; कच्ची फ़ाइल में हटाया हुआ शब्द खोजिए; कंप्रेसर का ब्योरा देखिए कि आपका दस्तावेज़ क्या-क्या ढो रहा था। बिना याददाश्त का PDF, पढ़ने वाला कोई भी हो, कबूलने को कुछ नहीं रखता।