मुफ्त PDF पेज संपादक ऑनलाइन
अनचाहे पृष्ठों को हटाएं और अपने PDF में पृष्ठ क्रम पुनर्व्यवस्थित करें। 100% क्लाइंट-साइड · आपकी फाइलें निजी रहती हैं।
PDF फ़ाइलों का समर्थन करता है · 50 MB तक
यह संपादक वास्तव में क्या करता है
PDF पृष्ठ संपादक PDF दस्तावेज़ के संरचनात्मक स्तर पर काम करता है, यह किसी भी एक पृष्ठ के रेंडर किए गए सामग्री को छुए बिना पूरे पृष्ठों के क्रम, उपस्थिति और अभिविन्यास को नियंत्रित करता है। आप एक PDF संपादक में डालते हैं, उपकरण उसके पृष्ठ-वृक्ष को पार्स करता है और प्रत्येक पृष्ठ के लिए पृष्ठ संख्या और आयाम के साथ एक कार्ड दिखाता है, आप हटाए जाने वाले पृष्ठों के चेकबॉक्स पर निशान लगाते हैं, खींचकर या तीर दबाकर पुनर्क्रमित करते हैं और संशोधित PDF डाउनलोड करते हैं। आपकी डिस्क की मूल फ़ाइल कभी संशोधित नहीं होती, संपादित संस्करण एक नया डाउनलोड है। हर ऑपरेशन आपके ब्राउज़र में JavaScript के माध्यम से चलता है, जो pdf-lib लाइब्रेरी (एंड्रू डिलन की एक शुद्ध-JavaScript PDF रीडर और राइटर, MIT लाइसेंस, GitHub पर Hopding/pdf-lib) द्वारा संचालित है, जो CDN से लोड होती है। कोई अपलोड नहीं, कोई सर्वर प्रसंस्करण नहीं, कोई टेलीमेट्री नहीं, Delete Selected और Download पर क्लिक करते समय DevTools के नेटवर्क टैब में सत्यापित करें, या pdf-lib लोड होने के बाद पृष्ठ को ऑफ़लाइन (एयरप्लेन मोड) ले जाएँ और संपादक अभी भी काम करता है। 50 MB तक की फ़ाइलें आराम से प्रोसेस होती हैं; बड़ी फ़ाइलें काम करती हैं लेकिन ब्राउज़र और डिवाइस की मेमोरी के आधार पर अधिक समय लेती हैं।
एक प्रारूप के रूप में PDF, एक संक्षिप्त इतिहास
PDF (Portable Document Format) Adobe में जॉन वार्नॉक द्वारा बनाया गया (कंपनी के सह-संस्थापक) और यह उनके 1991 के आंतरिक प्रस्ताव से विकसित हुआ जिसका उपनाम “Camelot” था। पहली सार्वजनिक रिलीज़, PDF 1.0, जून 1993 में न्यूयॉर्क में एक लॉन्च इवेंट में Adobe Acrobat 1.0 के साथ आई। PDF ने जो मूल समस्या हल की वह थी प्रिंट-निष्ठा वाली पोर्टेबिलिटी: किसी भी दस्तावेज़ को लें, उसे एम्बेडेड फ़ॉन्ट और सटीक लेआउट के साथ पैकेज करें, और किसी भी ऑपरेटिंग सिस्टम पर कोई भी रीडर उसे पिक्सेल-दर-पिक्सेल पुन: प्रस्तुत करता है। Adobe द्वारा विनिर्देश को ISO को सौंपने से पहले PDF पंद्रह वर्षों तक मालिकाना बना रहा। PDF 1.7 जुलाई 2008 में ISO 32000-1:2008 बना, वह विनिर्देश जो आज सक्रिय परिसंचरण में मौजूद हर PDF के मूल में है। PDF 2.0 इसके बाद ISO 32000-2:2017 के रूप में आया, जिसका दूसरा संशोधित संस्करण दिसंबर 2020 में अस्पष्टताओं को स्पष्ट करने के लिए प्रकाशित हुआ। अप्रैल 2023 में, Adobe ने एक पेटेंट छूट जारी की जिसने PDF के लिए रॉयल्टी-मुक्त कार्यान्वयन अधिकार स्पष्ट रूप से प्रदान किए, ओपन-सोर्स रीडर्स और राइटर्स के लिए अंतिम कानूनी अड़चन को हटा दिया। प्रारूप की संरचनात्मक इकाई पृष्ठ-वृक्ष है (/Pages शब्दकोश एक /Kids सरणी के साथ)। इस तरह का एक पृष्ठ संपादक वृक्ष पर चलता है, /Kids में प्रविष्टियाँ हटाता या पुनर्क्रमित करता है, और एक नई फ़ाइल लिखता है जिसमें बचे हुए पृष्ठ पुनः संख्यांकित होते हैं। पृष्ठ की सामग्री-स्ट्रीम स्वयं अछूती रहती हैं, इसीलिए बड़े दस्तावेज़ों पर भी ऑपरेशन तेज़ है और इसीलिए हर पृष्ठ की दृश्य सामग्री बिट-सटीक संरक्षित रहती है।
pdf-lib लाइब्रेरी जो काम करती है
pdf-lib वह शुद्ध-JavaScript PDF लाइब्रेरी है जो ब्राउज़र-साइड संपादन को व्यावहारिक बनाती है। एंड्रू डिलन ने इसे MIT लाइसेंस के तहत जारी किया और प्रोजेक्ट एक एकल बंडल के रूप में आता है जो किसी भी आधुनिक ब्राउज़र में चलता है, कोई नेटिव डिपेंडेंसी नहीं, बुनियादी संचालन के लिए WebAssembly आवश्यक नहीं। यह PDFs को पार्स, संशोधित और सीरियलाइज़ कर सकती है, अंत-से-अंत: मौजूदा दस्तावेज़ पढ़ें, दस्तावेज़ों के बीच पृष्ठ कॉपी करें, PNG और JPEG छवियाँ एम्बेड करें, एम्बेडेड फ़ॉन्ट के साथ टेक्स्ट बनाएँ, फ़ॉर्म फ़ील्ड संशोधित करें, और संशोधित दस्तावेज़ को डाउनलोड के लिए उपयुक्त Uint8Array के रूप में वापस लिखें। वैकल्पिक वास्तुकला (सर्वर-साइड PDF संपादन) वाणिज्यिक PDF उपकरणों में प्रमुख है क्योंकि PDF प्रसंस्करण ऐतिहासिक रूप से कठिन रहा है। Smallpdf, iLovePDF, Sejda, Soda PDF, ILovePDF, PDF24 और दर्ज़नों प्रतिस्पर्धी साइटें सभी आपकी फ़ाइल को सर्वर पर अपलोड करती हैं, बैकएंड पर pdf-lib या समान (या Ghostscript, qpdf, या PDFtk) चलाती हैं, फिर संशोधित फ़ाइल वापस भेजती हैं। समझौता: सर्वर-साइड मनमानी फ़ाइल आकार और जटिल ऑपरेशन्स को अधिक भरोसेमंद ढंग से संभालता है, लेकिन आपके द्वारा संपादित किए गए हर दस्तावेज़ का हर पृष्ठ कुछ अवधि के लिए किसी और के लॉग में रहता है। pdf-lib के माध्यम से ब्राउज़र-साइड 50 MB की व्यावहारिक सीमा और थोड़ा सीमित ऑपरेशन सेट के बदले “फ़ाइल कभी आपके डिवाइस से बाहर नहीं जाती” की गारंटी देता है। संवेदनशील दस्तावेज़ों के लिए (अनुबंध, मेडिकल रिकॉर्ड, बैंक स्टेटमेंट, आंतरिक दस्तावेज़) यह सौदा करने लायक है।
यह उपकरण भीतर से कैसे काम करता है
PDF का पृष्ठ संग्रह ISO 32000-2 के खंड 7.7.3 में वर्णित पेज ट्री द्वारा परिभाषित होता है। दस्तावेज़ की कैटलॉग डिक्शनरी में एक /Pages प्रविष्टि होती है जो पेज ट्री के रूट नोड की ओर इंगित करती है। उस रूट में /Type /Pages, उसके नीचे कुल पत्ती पृष्ठों की संख्या दर्शाने वाली /Count प्रविष्टि, और संतानों के संदर्भों का /Kids ऐरे होता है। संतान या तो पत्ती पृष्ठ ऑब्जेक्ट (/Type /Page) होते हैं या आगे के मध्यवर्ती /Pages नोड। पेड़ संतुलित होता है ताकि रीडर हर पत्ती को ट्रैवर्स किए बिना पृष्ठ N को O(log N) समय में खोज सके, और 500 पृष्ठों वाले दस्तावेज़ों में भी रैंडम पेज एक्सेस तेज होने का कारण यही है।
जब आप PDF चुनते हैं, ब्राउज़र की File API कच्चे बाइट pdf-lib को सौंप देती है, जो दस्तावेज़ की संरचना को मेमोरी में ऑब्जेक्ट ट्री के रूप में पार्स करती है। उपकरण pdfDoc.getPageCount() को बुलाकर पत्तियों की गिनती करता है और हर पृष्ठ के लिए pdfDoc.getPage(i).getWidth() और getHeight() को इटरेट करता है ताकि कार्ड का वही ग्रिड बने जो आप देखते हैं (पृष्ठ संख्या और PostScript बिंदुओं में आयाम, जहाँ 1 बिंदु 1/72 इंच के बराबर होता है)। चेकबॉक्स पर टिक करना या तीर बटन दबाना केवल एक JavaScript ऐरे को अद्यतन करता है जो बचे हुए पृष्ठ संदर्भों और उनके क्रम का हिसाब रखता है। मूल PDF बाइट्स ब्राउज़र मेमोरी में तब तक अछूते रहते हैं जब तक आप डाउनलोड पर क्लिक नहीं करते।
डाउनलोड पर pdf-lib copyPages के जरिए भारी काम करती है। उपकरण PDFDocument.create() से एक ताज़ा खाली दस्तावेज़ बनाता है, फिर newDoc.copyPages(sourceDoc, indices) को कॉल करता है, जहाँ indices उन स्रोत-पृष्ठ स्थितियों का ऐरे है जिस क्रम में वे आउटपुट में आनी चाहिए। copyPages हर मांगे गए पृष्ठ की हर निर्भर वस्तु (एम्बेडेड फ़ॉन्ट, चित्र XObject, सामग्री स्ट्रीम, टिप्पणियाँ) का पीछा करता है और उन्हें नए दस्तावेज़ में कॉपी करता है, फिर क्रॉस-रेफरेंस तालिका को पुनर्जनित करता है ताकि सभी बाइट ऑफसेट सिरे से सिरे तक संगत हों। आउटपुट संरचनात्मक रूप से साफ PDF है, रेंडर किए गए आउटपुट में पृष्ठ-दर-पृष्ठ मूल के समान। इस पूरे दौरान कोई नेटवर्क अनुरोध नहीं चलता। ऑपरेशन के दौरान ब्राउज़र डेवलपर टूल्स को Network टैब पर खोलें और आप pdf-lib के CDN से एक-बार के लोड (लगभग 380 KB मिनिफ़ाइड, पहली विज़िट के बाद ब्राउज़र द्वारा कैश) के अलावा कुछ नहीं देखेंगे।
जब आपको वास्तव में पृष्ठ संपादक की आवश्यकता होती है
- उस परिशिष्ट को हटाना जिसे आप साझा नहीं करना चाहते। 60-पृष्ठीय रिपोर्ट में 15-पृष्ठीय गोपनीय वित्तीय परिशिष्ट है। पृष्ठ 46 से 60 हटा दें और छोटा संस्करण भेज दें। स्रोत ऐप्लिकेशन से दोबारा निर्यात करने से तेज (और तब भी काम करता है जब आपके पास स्रोत नहीं है)।
- हस्ताक्षर के एक दौर के बाद कवर पृष्ठ छाँटना। DocuSign से वापस आया प्रति-हस्ताक्षरित अनुबंध या क्रम से बाहर जोड़ी गई स्याही-आधारित हस्ताक्षर पृष्ठ वाला मैनुअल स्कैन। हस्ताक्षर पृष्ठ को अंत में ले जाएँ, ई-साइन उपकरण द्वारा जोड़े गए डुप्लिकेट रूटिंग स्लिप को हटाएँ, साफ़ सेव करें।
- स्कैनर आउटपुट को साफ़ करना। एक बहु-पृष्ठ दस्तावेज़ स्कैनर एक एकल PDF बनाता है जिसमें ऑटो-डुप्लेक्स फ़ीड से खाली पीछे के पृष्ठ हो सकते हैं, या ऐसे पृष्ठ जो टेढ़े या क्रम से बाहर निकले हैं। पृष्ठ-स्तरीय संपादन आपको कुछ भी पुनः स्कैन किए बिना खाली पन्ने त्यागने और ग़लत-फ़ीड वालों को पुनर्क्रमित करने देता है।
- सबमिशन आवश्यकताओं के लिए पुनः संयोजन। एक अनुदान आवेदन, अदालत की फ़ाइल, या अकादमिक सबमिशन के लिए पृष्ठों का एक विशिष्ट क्रम आवश्यक है, शीर्षक, सार, फिर संख्यांकित खंड। पुनर्क्रमण उपकरण आपको डेस्कटॉप PDF संपादक को छुए बिना एक स्रोत PDF से पृष्ठों को आवश्यक क्रम में संयोजित करने देता है।
- लंबे दस्तावेज़ से व्यक्तिगत पृष्ठ हटाना। एक CV या पोर्टफ़ोलियो जिसमें व्यक्तिगत-संदर्भ पृष्ठ है जिसे आप किसी विशेष भर्तीकर्ता को नहीं भेजना चाहते। पृष्ठ हटाएँ, संपादित संस्करण डाउनलोड करें, मूल डिस्क पर अछूता रहता है।
- वितरण के लिए बहुत बड़े पुस्तक PDF को विभाजित करना। 600-पृष्ठीय संदर्भ PDF ईमेल करने के लिए बहुत बड़ा है। संपादक का उपयोग करके एक बार में एक अध्याय के पृष्ठ हटाएँ, प्रत्येक अध्याय को अपनी फ़ाइल के रूप में डाउनलोड करते हुए। एक भारी PDF संपादक खोलने की तुलना में मोटा लेकिन प्रभावी।
प्रतिस्पर्धी परिदृश्य, ब्राउज़र बनाम सर्वर बनाम नेटिव
तीन श्रेणियों के PDF संपादक एक ही उपयोगकर्ता के लिए प्रतिस्पर्धा करते हैं। नेटिव डेस्कटॉप उपकरण: Adobe Acrobat Pro (कैनोनिकल संदर्भ, US$19.99/माह की सदस्यता), Foxit PDF Editor, Nitro PDF, PDF Studio, Apple Preview (macOS में निर्मित, पृष्ठ-स्तरीय संपादन के लिए आश्चर्यजनक रूप से सक्षम), आपके कंप्यूटर पर इंस्टॉल होते हैं और आपकी स्थानीय फ़ाइलों के विरुद्ध ऑफ़लाइन काम करते हैं। वे सबसे बड़ी फ़ाइलों और सबसे गहरी संपादन ऑपरेशन्स को संभालते हैं, लेकिन उन्हें डाउनलोड की आवश्यकता होती है और (वाणिज्यिक के लिए) अक्सर एक भुगतान वाली लाइसेंस की। सर्वर-साइड वेब उपकरण: Smallpdf (स्विट्ज़रलैंड-स्थित, 2013 में स्थापित), iLovePDF (स्पेन, 2013 में भी), Sejda (USA), PDF24 (जर्मनी), Soda PDF (कनाडा), Adobe का अपना Acrobat Online, फ़ाइल अपलोड, प्रदाता के बुनियादी ढाँचे पर प्रसंस्करण, और वापस डाउनलोड के माध्यम से PDF ऑपरेशन्स को संभालते हैं। वे बड़ी फ़ाइलों और जटिल ऑपरेशन्स पर स्केल करते हैं, लेकिन हर फ़ाइल किसी और के सर्वर से होकर गुज़रती है। इस जैसे ब्राउज़र-साइड उपकरण pdf-lib, PDF.js (Mozilla का PDF रेंडरर, एंड्रियास गाल और अन्य द्वारा 2011 से शुरू होकर लिखा गया और अब Firefox के साथ बंडल किया गया) या pdf-lib-extra का उपयोग करके पूरी तरह से आपके डिवाइस पर काम करते हैं। उनकी फ़ाइल-आकार सीमाएँ ब्राउज़र की मेमोरी से तय होती हैं, लेकिन वे आपकी फ़ाइल की सामग्री कभी नहीं देखते। उन दस्तावेज़ों पर एक-बार के पृष्ठ संपादन के लिए जिनमें कुछ भी संवेदनशील है, ब्राउज़र-साइड विकल्प सही आकार है, चयन मूल रूप से इस तक सीमित हो जाता है: “क्या इस विशेष फ़ाइल पर सर्वर-पर-अपलोड की सुविधा गोपनीयता की लागत के लायक है?” आंतरिक दस्तावेज़ों पर नियमित काम के लिए, लगभग हमेशा हाँ। अनुबंधों, वित्त, मेडिकल रिकॉर्ड, या किसी भी ऐसे दस्तावेज़ के लिए जिसे आप सार्वजनिक वेब पर पोस्ट नहीं करेंगे, लगभग हमेशा नहीं।
यह संपादक क्या करता है और क्या नहीं
- पृष्ठ हटाएँ, चेकबॉक्स से पृष्ठ चुनें और उन्हें थोक में हटाएँ। संशोधित PDF में पृष्ठ संख्याएँ स्वचालित रूप से पुनः-प्रवाहित होती हैं।
- पृष्ठ पुनर्क्रमित करें, ऊपर/नीचे तीर नियंत्रण एक पृष्ठ को क्रम के भीतर ले जाते हैं। डाउनलोड किया गया PDF नया क्रम दर्शाता है।
- पृष्ठ पूर्वावलोकन कार्ड, हर पृष्ठ अपनी पृष्ठ संख्या और आयाम दिखाता है ताकि आप जानें कि आप क्या संपादित कर रहे हैं।
- मूल फ़ाइल अछूती, संपादक फ़ाइल को पढ़ता है पर उस पर कभी वापस नहीं लिखता; संशोधित संस्करण आपके डिफ़ॉल्ट डाउनलोड फ़ोल्डर में एक ताज़ा डाउनलोड है।
- केवल ब्राउज़र में निष्पादन, pdf-lib आपके टैब में चलता है; किसी भी चरण में सर्वर अपलोड नहीं।
दायरे से बाहर: व्यक्तिगत पृष्ठों की सामग्री संपादित करना (पाठ, छवियाँ, फ़ॉर्म फ़ील्ड), एक PDF को कई फ़ाइलों में विभाजित करना (समर्पित मुफ़्त PDF स्प्लिटर उपकरण का उपयोग करें), कई PDFs को एक में मर्ज करना (मुफ़्त PDF मर्ज ऑनलाइन का उपयोग करें), फ़ाइल आकार कम करने के लिए पृष्ठों को संकुचित करना (मुफ्त ऑनलाइन PDF कम्प्रेस करें का उपयोग करें), स्थायी काली पट्टियों के साथ संवेदनशील सामग्री को रिडैक्ट करना, या PDFs पर डिजिटल हस्ताक्षर करना। इन ऑपरेशन्स के लिए, समर्पित उपकरण या एक डेस्कटॉप PDF संपादक उपयुक्त हैं।
सामान्य अड़चनें और उनका अर्थ
- संपादन के बाद हाइपरलिंक गलत पृष्ठों की ओर इंगित करते हैं। स्रोत PDF में आंतरिक हाइपरलिंक या विषय-सूची की प्रविष्टियाँ होती हैं जो पृष्ठ स्थिति को इंडेक्स से संदर्भित करती हैं (एक लिंक «पृष्ठ 3 पर जाएँ»)। हटाने या पुनः क्रम के बाद ये संदर्भ अब भी पुरानी स्थितियों की ओर इंगित करते हैं और अब गलत सामग्री पर उतरते हैं। नामित गंतव्यों का उपयोग करने वाली PDF (दस्तावेज़ नाम ट्री में पंजीकृत «section-3 पर जाएँ» शैली के लिंक) पृष्ठ-म्यूटेशन को सही से झेल लेती हैं, क्योंकि गंतव्य पृष्ठों के साथ चलते हैं। समाधान या तो संपादन से पहले लिंक टिप्पणियों को मुफ़्त ऑनलाइन PDF फ़्लैटनिंग से समतल करना है, या यह स्वीकार करना है कि निरपेक्ष पृष्ठ-संख्या वाले लिंक को बाद में मैन्युअल मरम्मत की आवश्यकता होगी। यदि स्रोत क्रॉस-रेफरेंस फ़ील्ड वाले Word से या hyperref वाले LaTeX से उत्पन्न हुआ है, तो लिंक प्रायः नामित गंतव्य ही होते हैं और टिक जाते हैं।
- हटाने के बाद आउटपुट फ़ाइल उतनी छोटी नहीं होती जितनी अपेक्षा थी। pdf-lib का
copyPagesबची हुई पृष्ठों की हर निर्भर वस्तु को ढूँढ़कर कॉपी करता है, परंतु उन साझा संसाधनों की आक्रामक डुप्लीकेट हटाई नहीं करता जो आपके हटाए पृष्ठों से संदर्भित थे। यदि पृष्ठ 2 और 5 ने एक फ़ॉन्ट सबसेट साझा किया था और आप पृष्ठ 5 रखते हैं पर पृष्ठ 2 हटाते हैं, तो फ़ॉन्ट संदर्भ पृष्ठ 5 के साथ चला जाता है और हटाने से पृष्ठ की सामग्री स्ट्रीम तो बच जाती है पर फ़ॉन्ट नहीं। बचत आम तौर पर आनुपातिक आकार-कमी की अपेक्षा के 80 से 95 प्रतिशत होती है। यदि अधिक कसा आउटपुट चाहिए तो परिणाम को मुफ्त ऑनलाइन PDF कम्प्रेस करें से गुजारें; कंप्रेसर पूरा पुनः-पैकेजिंग करता है और बाकी बचत वापस ला देता है। - बुकमार्क या विषय-सूची की प्रविष्टियाँ गायब हो जाती हैं। pdf-lib का
copyPagesदस्तावेज़ की आउटलाइन (बुकमार्क ट्री) नहीं नकल करता। आउटलाइन दस्तावेज़ कैटलॉग स्तर पर एक/Outlinesप्रविष्टि के रूप में रहती है जो आउटलाइन आइटम्स के ट्री की ओर इंगित करती है, और pdf-lib पृष्ठ-कॉपी के दौरान वर्तमान में उसे पुनः नहीं लिखता। आउटपुट PDF में संशोधित पृष्ठ सही क्रम में होते हैं पर कोई बुकमार्क नहीं होता। यह ज्ञात सीमा pdf-lib issue #218 में ट्रैक की जाती है; जिन दस्तावेज़ों में बुकमार्क संरक्षित रखना ज़रूरी है, उनके लिए वैकल्पिक मार्ग Adobe Acrobat Pro के Organize Pages फ़ीचर का उपयोग करना है, जो पृष्ठ म्यूटेशन के दौरान आउटलाइन को मूल रूप से संरक्षित रखता है। - संपादन के बाद फ़ॉर्म फ़ील्ड काम करना बंद कर देते हैं। AcroForm फ़ील्ड ऑब्जेक्ट दस्तावेज़ स्तर पर
/AcroForm /Fieldsऐरे में रहते हैं, जिनके विजेट टिप्पणियाँ अलग-अलग पृष्ठों पर इन फ़ील्ड ऑब्जेक्ट्स से जुड़ी होती हैं। जब pdf-lib दस्तावेज़ों के बीच पृष्ठ कॉपी करता है, तो विजेट पृष्ठों के साथ यात्रा करते हैं, पर फ़ील्ड-से-विजेट संबंध हमेशा साफ-सुथरे ढंग से पुनर्निर्मित नहीं होते। दृश्य लक्षण: भरने योग्य फ़ॉर्म फ़ील्ड स्थिर आयतों के रूप में दिखते हैं या आउटपुट से गायब हो जाते हैं। «अंतिम, गैर-संपादन योग्य» वर्कफ़्लो के लिए समाधान यह है कि पहले मुफ़्त ऑनलाइन PDF फ़्लैटनिंग से फ़ॉर्म को समतल करें, जो फ़ील्ड मानों को स्थिर सामग्री में पका देता है, और फिर संपादन करें। «संपादन के बाद भी भरने योग्य» वर्कफ़्लो के लिए Adobe Acrobat Pro का Organize Pages सही उपकरण है। - PDF एन्क्रिप्टेड है और उपकरण त्रुटि दिखाता है। pdf-lib पढ़ने के लिए बुनियादी पासवर्ड-आधारित एन्क्रिप्शन का समर्थन करती है, लेकिन हमेशा उपयोगकर्ता-स्तरीय एन्क्रिप्शन से या कॉपी/संशोधन पर मालिक-स्तरीय प्रतिबंधों से सुरक्षित PDF के पेज ट्री को पार्स नहीं कर पाती। मानक तीन-चरणीय बाईपास: पहले मुफ़्त PDF अनलॉक ऑनलाइन से PDF को अनलॉक करें (वह भी केवल-ब्राउज़र, वही पासवर्ड देकर जो आप पहले से जानते हैं), यहाँ पृष्ठ संपादित करें, और फिर वैकल्पिक रूप से PDF को पासवर्ड से सुरक्षित करें से आउटपुट को पुनः सुरक्षित करें। अनलॉक की गई मध्यवर्ती फ़ाइल वही है जो संपादित होती है; अंतिम सुरक्षित आउटपुट नया पृष्ठ क्रम और नया पासवर्ड दोनों बचा कर रखता है।
- बहुत बड़ी PDF टैब को क्रैश कर देती है। pdf-lib पार्सिंग पर पूरी फ़ाइल को JavaScript मेमोरी में लोड करती है। आधुनिक डेस्कटॉप ब्राउज़र कई सौ मेगाबाइट तक की PDF को आराम से संभाल लेते हैं, पर मोबाइल ब्राउज़र की मेमोरी सीमा डिवाइस पर निर्भर करते हुए लगभग 200 MB से 500 MB होती है। 4 GB रैम वाले Android फोन पर 400 MB की PDF टैब को ऑपरेटिंग सिस्टम द्वारा बंद करवा सकती है। बहुत बड़ी फ़ाइलों के लिए सही उपकरण डेस्कटॉप ऐप्लिकेशन (Adobe Acrobat, Foxit) या कमांड-लाइन उपकरण (qpdf, pikepdf) हैं, जो फ़ाइल को पूरी तरह RAM में लोड करने के बजाय डिस्क से स्ट्रीम करते हैं।
गोपनीयता: फ़ाइल आपके डिवाइस पर रहती है
हर क्लाउड PDF पेज एडिटर (Smallpdf, iLovePDF, PDF24, Adobe Acrobat Online, Sejda, Soda PDF) आपकी फ़ाइल को ऑपरेटर के सर्वर पर अपलोड करता है, सर्वर-साइड पार्स करता है, सर्वर पर रेंडर किए गए प्रीव्यूज़ के विरुद्ध आपको हटाएँ क्लिक करने या थंबनेल खींचने देता है, फिर एक संशोधित कॉपी डाउनलोड के रूप में वापस भेजता है। गोपनीयता निहितार्थ सामान्य फ़ाइल-अपलोड से एक महत्वपूर्ण रूप में भिन्न हैं: ऑपरेटर अनिवार्य रूप से हर पृष्ठ की सामग्री पढ़ता है (प्रीव्यूज़ रेंडर करने और पृष्ठों को गिनने/पहचानने के लिए) इससे पहले कि आपने कोई हटाने या पुनः क्रम का निर्णय लिया हो। यदि आप मन बदल लें और परिणाम कभी डाउनलोड न करें, तब भी ऑपरेटर सामग्री देख चुका होता है। बड़े प्रदाता गोपनीयता नीतियाँ प्रकाशित करते हैं जिनमें घंटों के भीतर मिटाने और ट्रांज़िट में TLS की प्रतिबद्धता होती है, और उन्हें इसका पालन करने के मज़बूत व्यावसायिक कारण हैं, परंतु «एक घंटे में मिटाया» «कभी न देखा» के बराबर नहीं है। PDF में नियमित रूप से चिकित्सा रिकॉर्ड, बैंक विवरण, हस्ताक्षरित अनुबंध, पहचान दस्तावेज़, कंपनी के आंतरिक मेमो और कानूनी मसौदे होते हैं; इन दस्तावेज़ों के लिए नीतिगत अंतर मायने रखता है।
यह एडिटर कुछ भी अपलोड नहीं करता। pdf-lib आपके ब्राउज़र टैब में चलती है और File API के माध्यम से फ़ाइल बाइट्स प्राप्त करती है, और संशोधित बाइट्स उसी टैब को Blob के रूप में लौटाती है जो डाउनलोड बन जाता है। आप इसे साबित कर सकते हैं: Download Modified PDF पर क्लिक करने से पहले ब्राउज़र डेवलपर टूल्स को Network टैब पर खोलें, ऑपरेशन चलाएँ, और देखें कि आपकी फ़ाइल सामग्री वाले कोई अनुरोध नहीं होते। एकमात्र नेटवर्क ट्रैफ़िक है pdf-lib का पहली विज़िट पर CDN से एक बार आना (लगभग 380 KB मिनिफ़ाइड), जो एक बार होता है और फिर ब्राउज़र कैश में बैठ जाता है। पेज लोड हो जाने के बाद ब्राउज़र को एयरप्लेन मोड पर डाल दीजिए और एडिटर स्थानीय फ़ाइलों पर अब भी काम करेगा। समझौता है फ़ीचर का दायरा: क्लाउड सेवाएँ अक्सर द्वितीयक संक्रियाएँ भी जोड़ती हैं जैसे संपादन से पहले OCR, संलग्नकों का स्वचालित रूपांतरण, या संपादन के बाद हस्ताक्षर-और-भेजना का प्रवाह। यह उपकरण केवल पृष्ठ-स्तरीय हटाव और पुनः क्रम करता है। इस केंद्रित प्रवाह के लिए ब्राउज़र-साइड उपकरण निश्चित रूप से तेज (अपलोड प्रतीक्षा नहीं, अपलोड आकार सीमा नहीं) और स्पष्ट रूप से अधिक निजी है।
जब दूसरा उपकरण सही चयन हो
- मेमोरी-सीमित डिवाइस पर 200 MB से बड़ी PDF। pdf-lib पूरी फ़ाइल को मेमोरी में लोड करती है; फ़ोन, टैबलेट या पुराने लैपटॉप पर टैब मेमोरी से बाहर हो सकती है और क्रैश हो सकती है। बहुत बड़ी फ़ाइलों के लिए Adobe Acrobat, Foxit या qpdf कमांड-लाइन का प्रयोग करें। qpdf फ़ाइल को डिस्क से स्ट्रीम करती है और अनिवार्यतः असीमित आकार के दस्तावेज़ों को संभालती है।
- XFA फ़ॉर्म या प्रमाण-पत्र-आधारित एन्क्रिप्शन। XFA Adobe का स्वामित्व वाला XML-आधारित फ़ॉर्म प्रारूप है, और pdf-lib इसे विश्वसनीय रूप से नहीं संभालती। प्रमाण-पत्र-आधारित एन्क्रिप्शन (पासवर्ड-आधारित के विपरीत) भी pdf-lib की पहुँच से बाहर है। दोनों के लिए Adobe Acrobat प्रामाणिक उपकरण है। यदि दस्तावेज़ Adobe LiveCycle Designer में बनाया गया था, तो डिफ़ॉल्ट धारणा बना लें कि उसमें XFA है।
- ऐसे संपादन जो बुकमार्क या आउटलाइन ट्री को बचाए रखना ज़रूरी बनाते हैं। यदि दस्तावेज़ में जटिल आउटलाइन है और आपको चाहिए कि बुकमार्क पृष्ठों के नए स्थानों के साथ चलें (या हटाने के बाद भी बने रहें), तो Adobe Acrobat Pro का Organize Pages यह काम मूल रूप से करता है। pdf-lib वर्तमान में ऐसा नहीं करती। आउटलाइन की परवाह न करने वाले दस्तावेज़ों पर एक-बार के पृष्ठ-हटाव के लिए यह उपकरण तेज है; अकादमिक थीसिस या तकनीकी मैनुअल जैसे आउटलाइन-महत्वपूर्ण वर्कफ़्लो के लिए Acrobat Pro का उपयोग करें।
- पाइपलाइन के हिस्से के रूप में स्वचालित बैच संपादन। अनेक PDF के सर्वर-साइड या स्क्रिप्टेड संपादन के लिए, pdf-lib को सीधे Node.js से उपयोग करें (वही लाइब्रेरी, ब्राउज़र टैब की आवश्यकता नहीं), Python की pikepdf (qpdf का pythonic API वाला बाइंडिंग), या qpdf कमांड-लाइन को स्पष्ट पृष्ठ-रेंज सिंटैक्स के साथ (
qpdf --pages input.pdf 1-4,6-20 -- output.pdfपृष्ठ 1 से 4 और 6 से 20 रखता है, पृष्ठ 5 हटा देता है)।
अक्सर पूछे जाने वाले प्रश्न
क्या मेरी PDF सर्वर पर अपलोड होती है?
नहीं। सारा प्रसंस्करण आपके ब्राउज़र में pdf-lib JavaScript लाइब्रेरी के माध्यम से होता है, जो आपके टैब में चलती है। आपकी फ़ाइल ब्राउज़र की मेमोरी में पढ़ी जाती है, JavaScript में हेरफेर की जाती है, और संशोधित संस्करण आपको डाउनलोड के रूप में वापस पेश किया जाता है। एकमात्र नेटवर्क ट्रैफ़िक पहले बार पृष्ठ खुलने पर pdf-lib का एकमुश्त CDN लोड है। पृष्ठ हटाते समय या Download पर क्लिक करते समय DevTools के नेटवर्क टैब में सत्यापित करें, कोई अनुरोध नहीं भेजे जाते जिनमें आपकी फ़ाइल की सामग्री हो।
फ़ाइल आकार की सीमा क्या है?
अधिकांश आधुनिक ब्राउज़रों और डिवाइसों पर 50 MB तक के PDFs आराम से प्रोसेस होते हैं। 50 MB से बड़ी फ़ाइलें काम करेंगी लेकिन pdf-lib द्वारा पृष्ठ-वृक्ष पार्स करते समय टैब को कुछ देर के लिए फ़्रीज़ कर सकती हैं, विशेष रूप से कम-मेमोरी वाले डिवाइसों पर। मूल सीमा एक कठोर सीलिंग के बजाय ब्राउज़र मेमोरी है; बहुत बड़े PDFs (सैकड़ों मेगाबाइट) Adobe Acrobat या Apple Preview जैसे डेस्कटॉप उपकरण के लिए बेहतर अनुकूल हो सकते हैं।
क्या मैं अपने परिवर्तन पूर्ववत कर सकता/सकती हूँ?
डाउनलोड से पहले आप पृष्ठ चयन और क्रम बदलते रह सकते हैं, Download Modified PDF पर क्लिक करने तक कुछ भी प्रतिबद्ध नहीं होता। पृष्ठ ताज़ा करने या Clear पर क्लिक करने से मूल दस्तावेज़ पर रीसेट हो जाता है। एक बार डाउनलोड हो जाने पर, संशोधित फ़ाइल एक नया PDF है; आपकी डिस्क पर मूल कभी ओवरराइट नहीं होता, इसलिए आपके पास पुनः शुरू करने के लिए हमेशा अपरिवर्तित संस्करण होता है।
क्या यह स्कैन किए गए PDFs के साथ काम करता है?
हाँ। पृष्ठ-स्तरीय ऑपरेशन्स (हटाएँ, पुनर्क्रमित) समान रूप से काम करते हैं चाहे हर पृष्ठ में चयन-योग्य पाठ हो या स्कैन-छवि बिटमैप, संपादक पूरे पृष्ठों को सामग्री के अपारदर्शी ब्लॉकों के रूप में ले जाता है। पृष्ठ संख्या, पृष्ठ क्रमांक और आयाम छवि-आधारित पृष्ठों के लिए भी सही प्रदर्शित होते हैं। यह संपादक जो नहीं करता वह है स्कैन किए गए पाठ का OCR करना या किसी पृष्ठ की छवि सामग्री को संशोधित करना; उन ऑपरेशन्स के लिए एक समर्पित OCR उपकरण या OCR सुविधाओं वाले डेस्कटॉप PDF संपादक की आवश्यकता होती है।
क्या यह उपकरण मोबाइल पर काम करता है?
छोटी फ़ाइलों के लिए हाँ। मोबाइल ब्राउज़रों में डेस्कटॉप की तुलना में कम मेमोरी और धीमे JavaScript इंजन होते हैं, इसलिए बहुत बड़े PDFs टैब को फ़्रीज़ कर सकते हैं या क्रैश कर सकते हैं। खींचें-और-छोड़ें क्षमता भी टच डिवाइसों पर कम अच्छी तरह काम करती है, इसके बजाय फ़ाइल पिकर का उपयोग करें (टैप “click to browse”)। छोटे PDFs पर एक-बार के पृष्ठ हटाने के लिए, मोबाइल ठीक काम करता है; बड़ी फ़ाइलों के लिए, डेस्कटॉप पर स्विच करें।
पासवर्ड-संरक्षित PDFs के बारे में क्या?
Adobe Acrobat की तुलना में एन्क्रिप्टेड PDFs के लिए pdf-lib का अंतर्निहित समर्थन सीमित है। यदि कोई PDF उपयोगकर्ता-स्तर एन्क्रिप्शन के साथ पासवर्ड-संरक्षित है, तो संपादक उसे लोड करने में विफल हो सकता है या परिवर्तन लिखने की क्षमता के बिना उसे लोड कर सकता है। समाधान: PDF को एक डेस्कटॉप उपकरण में खोलें जो पासवर्ड जानता है, उसे एक अनएन्क्रिप्टेड प्रति के रूप में सेव करें, फिर इस उपकरण में अनएन्क्रिप्टेड संस्करण को संपादित करें। यदि आपको आउटपुट पर पासवर्ड सुरक्षा चाहिए तो बाद में पुनः एन्क्रिप्ट करें।
और भी सामान्य प्रश्न
क्या यह उपकरण ऑफ़लाइन काम करता है?
पहली विज़िट के बाद, हाँ। pdf-lib JavaScript लाइब्रेरी पहले लोड पर ब्राउज़र द्वारा कैश की जाती है (लगभग 380 KB मिनिफ़ाइड)। बाद की विज़िट्स में पेज एडिटर बिना नेटवर्क कनेक्शन के काम करता है, बशर्ते बीच में ब्राउज़र कैश साफ न किया गया हो। पेज ट्री में बदलाव को नेटवर्क की कभी ज़रूरत ही नहीं थी; केवल लाइब्रेरी लोड को थी। आप पेज एक बार खोलने के बाद एयरप्लेन मोड चालू करके और स्थानीय PDF को हटा/पुनः क्रम करके सत्यापित कर सकते हैं।
क्या मैं एक साथ कई PDF से पृष्ठ हटा या पुनः क्रमित कर सकता हूँ?
सीधे नहीं: इंटरफ़ेस एक समय में एक स्रोत दस्तावेज़ स्वीकार करता है। बहु-PDF संपादन का दो-चरणीय प्रवाह यह है: पहले मुफ़्त PDF मर्ज ऑनलाइन से अपनी फ़ाइलों को एक दस्तावेज़ में जोड़ें, फिर उस संयुक्त PDF को यहाँ लाएँ और अंतिम क्रम में पृष्ठ हटाएँ या पुनः क्रमित करें। अधिक जटिल क्रॉस-दस्तावेज़ प्रवाहों (फ़ाइल A के पृष्ठ 3 को फ़ाइल B के पृष्ठ 5 और 6 के बीच खींचना) के लिए Adobe Acrobat Pro का Organize Pages एक चरण में मूल रूप से क्रॉस-दस्तावेज़ ड्रैग संभालता है। दर्जनों या सैकड़ों फ़ाइलों में बैच स्वचालन के लिए qpdf या pikepdf कमांड-लाइन उपकरण उपयुक्त हैं।
क्या मुझे हस्ताक्षर, फ्लैटन या कंप्रेस करने से पहले पृष्ठ संपादित करने चाहिए या बाद में?
सुरक्षित क्रम है: पहले संपादन, फिर फ्लैटन, उसके बाद हस्ताक्षर, अंत में कंप्रेस। संपादन पहले इसलिए कि बाद की संक्रियाएँ अंतिम पृष्ठ क्रम पर निर्भर हैं। फ्लैटन उसके बाद इसलिए कि वह फ़ॉर्म फ़ील्ड और टिप्पणियों को स्थिर सामग्री में पका देता है ताकि नीचे के उपकरण दस्तावेज़ को एकसमान रूप से संभालें। फ्लैटन के बाद हस्ताक्षर इसलिए कि क्रिप्टोग्राफ़िक हस्ताक्षर दस्तावेज़ के अंतिम बाइट क्रम पर प्रतिबद्ध होते हैं और कोई भी आगे का परिवर्तन उन्हें अमान्य करता है। कंप्रेस अंत में (वैकल्पिक) ट्रांसमिशन के लिए फ़ाइल आकार कम करने हेतु। बाद में संपादित किए गए हस्ताक्षरित PDF Acrobat और अन्य हस्ताक्षर-जागरूक रीडर्स में हस्ताक्षर सत्यापन में असफल हो जाएँगे, इसलिए हस्ताक्षर हमेशा सामग्री-स्पर्शी अंतिम चरण होना चाहिए।
क्या स्कैन किए गए पृष्ठों पर OCR टेक्स्ट लेयर सुरक्षित रहेगी?
हाँ। PDF में OCR टेक्स्ट स्कैन की गई छवि के ऊपर खींची गई अदृश्य टेक्स्ट (अदृश्य चिह्नित सामग्री-स्ट्रीम ऑपरेटरों के अनुक्रम) के रूप में संग्रहीत होता है, और वह सामग्री-स्ट्रीम पृष्ठ ऑब्जेक्ट का हिस्सा होती है। जब pdf-lib का copyPages पृष्ठ की प्रति बनाता है, तो वह पूरे पृष्ठ ऑब्जेक्ट को नकल करता है, जिसमें इसके सभी सामग्री-स्ट्रीम, फ़ॉन्ट संदर्भ और कोई भी अदृश्य OCR टेक्स्ट लेयर शामिल हैं। संपादन से बचे पृष्ठों पर खोज और चयन संपादित आउटपुट पर वैसा ही काम करते रहते हैं जैसा मूल पर करते थे। टेक्स्ट लेयर बाइट-दर-बाइट सुरक्षित रहती है; pdf-lib कुछ भी पुनः-एनकोड या पुनः-रास्टराइज़ नहीं करती।
क्या आधे पृष्ठ हटाने से फ़ाइल का आकार आधा रह जाता है?
आम तौर पर आधे से कम, कभी-कभी बहुत कम। यदि हटाए गए पृष्ठों के पास अनूठी सामग्री थी (अपनी एम्बेडेड छवियाँ, अपने फ़ॉन्ट सबसेट), तो बचत बड़ी है। यदि हटाए गए पृष्ठों ने रखी जाने वाली पृष्ठों के साथ संसाधन साझा किए थे (पूरे दस्तावेज़ में एक ही फ़ॉन्ट, हर पृष्ठ पर एक ही लोगो छवि), तो साझा संसाधन फ़ाइल में रह जाते हैं। pdf-lib सेव पर फ़ाइल को आक्रामक रूप से पुनः-पैक नहीं करती, इसलिए मूल PDF ने जो पृष्ठ-पार संसाधन डुप्लीकेट हटाई पहले से कर रखी थी वह बच जाती है, परंतु हटाने से पैदा हुए नए अवसरों का दोहन नहीं होता। कसा आउटपुट चाहिए तो परिणाम को मुफ्त ऑनलाइन PDF कम्प्रेस करें से गुज़ारें, जो पूरा पुनः-पैकेजिंग और छवि पुनः-एनकोडिंग करता है और आमतौर पर बाकी बचत वसूल कर लेता है।
क्या स्क्रिप्टिंग के लिए कोई डेस्कटॉप या कमांड-लाइन समतुल्य उपलब्ध है?
हाँ, कई। pdf-lib Node.js में बिना बदलाव चलती है (npm install pdf-lib) और संपादन कोड वही है: copyPages(source, indices) के बाद हर पृष्ठ के लिए addPage()। कमांड-लाइन के लिए qpdf में प्रति-पृष्ठ चयन सिंटैक्स है: qpdf --pages input.pdf 1-4,6-20 -- input.pdf output.pdf पृष्ठ 1 से 4 और पृष्ठ 6 से 20 को रखता है, पृष्ठ 5 को हटा देता है। Python का pikepdf qpdf का बाइंडिंग है जिसमें साफ-सुथरा API है (del pdf.pages[2] से पृष्ठ 3 हटाएँ, पुनः क्रम के लिए लिस्ट-स्लाइसिंग शब्दार्थ)। Adobe Acrobat Pro एक ग्राफ़िकल इंटरफ़ेस के माध्यम से वही ऑपरेशन देता है और इसके अतिरिक्त बुकमार्क और दस्तावेज़ की आउटलाइन को पृष्ठ म्यूटेशन के दौरान संरक्षित रखता है, जो केवल-ब्राउज़र मार्ग नहीं करता।