Linux पर PDF संपीड़ित करें: QPDF और Ghostscript का सही उपयोग

Linux पर आप QPDF के दस्तावेज़ों में दिए गए कमांड को टर्मिनल में चलाकर PDF की संरचना अनुकूलित कर सकते हैं या Ghostscript pdfwrite से उसे दोबारा बनवा सकते हैं। नई फ़ाइल छोटी है या नहीं और आपकी ज़रूरत के सभी काम अब भी कर सकती है या नहीं, यह सहेजे गए आउटपुट की जाँच से ही पता चलता है।

संरचना का अनुकूलन या दोबारा बनाना: कौन-सा टूल सही है?

दोनों प्रोग्राम मूल रूप से अलग तरीके से काम करते हैं। इस पृष्ठ का QPDF कमांड आपके पृष्ठों की सामग्री को बनाए रखता है और केवल फ़ाइल के ऑब्जेक्ट को दोबारा, यथासंभव कम जगह में सहेजता है। इसके लिए वह, उदाहरण के तौर पर, ऑब्जेक्ट को ऑब्जेक्ट स्ट्रीम में एकत्र करता है और Flate डेटा को दोबारा संपीड़ित करता है। इस दौरान वह न छवियों का रिज़ॉल्यूशन घटाता है, न उन्हें JPEG के रूप में दोबारा एन्कोड करता है। QPDF का वैकल्पिक छवि अनुकूलन एक अलग चरण है, जिसमें डेटा की कुछ हानि होती है; अगले भाग में इसका संक्षिप्त विवरण है। अलग-अलग विकल्पों का वर्णन QPDF दस्तावेज़ों में है।

Ghostscript अलग तरह से काम करता है। pdfwrite आउटपुट डिवाइस के साथ वह PDF पढ़ता है और हर पृष्ठ के आरेखण निर्देशों से एक नई फ़ाइल बनाता है। पाठ और वेक्टर ग्राफ़िक्स आम तौर पर उसी रूप में रहते हैं, यानी पृष्ठों को केवल छवियों में नहीं बदला जाता। हालाँकि सेटिंग के अनुसार Ghostscript छवियों की पुनर्गणना कर सकता है। इसके अलावा वह सब कुछ बदल सकता है जो पृष्ठ के दिखाई देने वाले रूप का हिस्सा नहीं है। यह बात pdfwrite के बारे में Ghostscript पुस्तिका में समझाई गई है।

कुछ प्रोग्राम एक तीसरा तरीका भी देते हैं: वे हर पृष्ठ को एक छवि के रूप में दोबारा बनाते हैं। इससे मूल पाठ, खोज और इंटरैक्टिव तत्व आम तौर पर खो जाते हैं। इस पृष्ठ के दोनों कमांड में से कोई भी इस तरह काम नहीं करता।

PDF का आकार घटाने के तीन तरीके और उनसे दस्तावेज़ में होने वाले बदलाव
विधिक्या होता हैछवियाँपाठ और कार्यक्षमता
QPDF, संरचना का अनुकूलनऑब्जेक्ट और Flate डेटा कम जगह में सहेजे जाते हैंरिज़ॉल्यूशन नहीं घटाया जाता। वैकल्पिक JPEG पुनः एन्कोडिंग से बारीकियाँ खो सकती हैं।पृष्ठ की सामग्री दोबारा नहीं बनाई जाती, फिर भी परिणाम जाँचें
Ghostscript pdfwrite, दोबारा बनानापृष्ठ उनके आरेखण निर्देशों से दोबारा बनाए जाते हैंनिर्देश के अनुसार रिज़ॉल्यूशन घटाया जा सकता हैपाठ और वेक्टर अधिकतर सुरक्षित रहते हैं। लिंक, फ़ॉर्म और मेटाडेटा बदल सकते हैं।
पृष्ठों को छवियों के रूप में बनानाहर पृष्ठ एक छवि बन जाता हैचुने गए रिज़ॉल्यूशन पर निर्भर करती हैंमूल पाठ, खोज और इंटरैक्टिव तत्व आम तौर पर खो जाते हैं

इनमें से कोई भी विधि छोटी फ़ाइल की गारंटी नहीं देती। सामान्य नियम यह है: यदि आपकी PDF में मुख्य रूप से पाठ और वेक्टर ग्राफ़िक्स हैं, तो QPDF से शुरू करें। यह तब भी लागू होता है जब छवियों, लिंक या फ़ॉर्म में यथासंभव कम बदलाव करना हो। Ghostscript तब उपयोगी हो सकता है जब बड़ी फ़ोटो या स्कैन के कारण आकार अधिक हो और इसके लिए आप छवियों की कुछ गुणवत्ता छोड़ सकते हों। संपीड़न में डेटा की हानि होने या न होने का वास्तव में क्या अर्थ है, यह बिना गुणवत्ता घटाए PDF संपीड़ित करें मार्गदर्शिका समझाती है।

ग्राफ़िकल प्रोग्राम भी इन्हीं तरीकों का उपयोग करते हैं। PDFsam के अपने विवरण के अनुसार Basic संस्करण में केवल संरचना का अनुकूलन होता है, जबकि Visual और Enhanced संस्करणों में अलग छवि संपीड़न उपलब्ध है। फ़ाइल मैनेजर स्क्रिप्ट या पृष्ठभूमि में Ghostscript चलाने वाले इंटरफ़ेस के पुराने निर्देश कुछ मामलों में Ubuntu के पुराने संस्करणों से संबंधित हैं। इसलिए उनके इंस्टॉलेशन के चरण बिना जाँचे न अपनाएँ। निर्माता के अनुसार PDF24 Creator केवल Windows के लिए उपलब्ध है; वह Linux संस्करण नहीं देता।

यदि आप कुछ इंस्टॉल नहीं करना चाहते, तो ब्राउज़र में PDF कंप्रेसर इस्तेमाल कर सकते हैं। यह फ़ाइल को अपलोड किए बिना आपके उपकरण पर प्रोसेस करता है। हालाँकि हमने Linux ब्राउज़र में इसका अलग से परीक्षण नहीं किया है। ब्राउज़र में स्थानीय प्रोसेसिंग वास्तव में ऑफ़लाइन काम करने से कैसे अलग है, यह बिना अपलोड किए PDF संपीड़ित करें मार्गदर्शिका में बताया गया है।

संस्करण जाँचें और अलग आउटपुट फ़ाइल बनाएँ

कमांड का अवलोकन

इस मार्गदर्शिका के छह कमांड में से एक चुनें। आपको कमांड बिना किसी बदलाव के दिखेगा और उसके हर हिस्से का अर्थ बताया जाएगा।

ये कमांड QPDF और Ghostscript की आधिकारिक मार्गदर्शिकाओं से लिए गए हैं। हमने इन्हें Ubuntu या किसी अन्य वितरण पर स्वयं नहीं चलाया है। आपके सिस्टम पर इंस्टॉल किए गए संस्करण ऑनलाइन दस्तावेज़ों में दिए गए संस्करणों से अलग हो सकते हैं।

यह पृष्ठ कोई कमांड नहीं चलाता और न ही टर्मिनल का आउटपुट दिखाता है। आपका सिस्टम क्या संदेश देता है, यह आपको कमांड स्वयं चलाने के बाद ही दिखेगा।

QPDF संस्करण दिखाएँ

इंस्टॉल किया गया QPDF संस्करण दिखाता है। अन्य कमांड इस्तेमाल करने से पहले इसे जाँचें।

इंस्टॉल किया गया QPDF संस्करण दिखाता है।
qpdf --version

आप कोड वाले बॉक्स में भी कमांड सीधे चुनकर कॉपी कर सकते हैं।

कमांड के हिस्से
qpdfप्रोग्राम
QPDF कमांड लाइन प्रोग्राम को चलाता है।
--versionसंस्करण दिखाएँ
आपके सिस्टम पर चल रहे QPDF का संस्करण दिखाता है।

यदि शेल बताए कि कमांड नहीं मिला, तो संभवतः QPDF इंस्टॉल नहीं है। पैकेज का नाम और इंस्टॉल करने का तरीका आपके वितरण पर निर्भर करते हैं।

मार्गदर्शिका में संबंधित स्थान

Ghostscript संस्करण और आउटपुट डिवाइस दिखाएँ

Ghostscript का संस्करण और उपलब्ध आउटपुट डिवाइस दिखाता है।

Ghostscript का संस्करण और उपलब्ध आउटपुट डिवाइस दिखाता है।
gs -h

आप कोड वाले बॉक्स में भी कमांड सीधे चुनकर कॉपी कर सकते हैं।

कमांड के हिस्से
gsप्रोग्राम
Ghostscript को चलाता है। Unix पर प्रोग्राम का नाम gs है।
-hसहायता
संस्करण, विकल्प, फ़ॉर्मैट, उपलब्ध आउटपुट डिवाइस और खोज पथ दिखाता है।

यदि शेल बताए कि कमांड नहीं मिला, तो संभवतः Ghostscript इंस्टॉल नहीं है। वितरण और संस्करण लिख लें, ताकि बाद में यह समझ सकें कि परिणाम किस परिवेश में मिले थे।

मार्गदर्शिका में संबंधित स्थान

संरचना को अधिक संक्षिप्त रूप में सहेजें

फ़ाइल के ऑब्जेक्ट दोबारा, यथासंभव संक्षिप्त रूप में सहेजता है। इसमें चित्रों का रिज़ॉल्यूशन नहीं घटाया जाता और न ही उन्हें JPEG के रूप में दोबारा एन्कोड किया जाता है।

दस्तावेज़ों से लिया गया QPDF कमांड: छवियों का रिज़ॉल्यूशन घटाए या उन्हें JPEG के रूप में दोबारा एन्कोड किए बिना संरचना को कम जगह में सहेजता है।
qpdf "original.pdf" --object-streams=generate --compress-streams=y --decode-level=generalized --recompress-flate --compression-level=9 "optimiert-qpdf.pdf"

आप कोड वाले बॉक्स में भी कमांड सीधे चुनकर कॉपी कर सकते हैं।

कमांड के हिस्से
qpdfप्रोग्राम
QPDF कमांड लाइन प्रोग्राम को चलाता है।
"original.pdf"इनपुट फ़ाइल
वह PDF जिसे पढ़ा जाता है। परिणाम अलग फ़ाइल में सहेजा जाता है।
--object-streams=generateऑब्जेक्ट स्ट्रीम बनाएँ
उपयुक्त ऑब्जेक्ट को ऑब्जेक्ट स्ट्रीम में समूहित करके संपीड़ित करता है। तब आउटपुट का PDF संस्करण कम से कम 1.5 होता है।
--compress-streams=yस्ट्रीम संपीड़ित करें
स्ट्रीम को Flate से संपीड़ित करता है, यदि वे पहले से किसी अन्य तरीके से संपीड़ित नहीं हैं।
--decode-level=generalizedसामान्य फ़िल्टर से संपीड़ित डेटा खोलें
LZW, Flate, ASCII85 और ASCIIHex जैसे समर्थित सामान्य फ़िल्टर से संपीड़ित डेटा को खोलता है। इसमें JPEG डेटा (DCT) नहीं खोला जाता।
--recompress-flateFlate को दोबारा संपीड़ित करें
मौजूदा Flate स्ट्रीम को खोलकर दोबारा संपीड़ित करता है। इससे फ़ाइल लिखने में अधिक समय लग सकता है।
--compression-level=9संपीड़न स्तर
Flate के लिए दस्तावेज़ों में दी गई 1 से 9 की सीमा का सबसे ऊँचा zlib स्तर चुनता है। ऊँचे स्तरों में अधिक समय लगता है। इस मान का JPEG की गुणवत्ता से कोई संबंध नहीं है।
"optimiert-qpdf.pdf"आउटपुट फ़ाइल
नई फ़ाइल का नाम। दोनों जाँच कमांड में यही इनपुट फ़ाइल होती है।

नई फ़ाइल छोटी है या नहीं, यह बाइट संख्या की तुलना करने पर ही पता चलता है। अलग आउटपुट नाम रखने से भी उसी नाम की किसी मौजूदा फ़ाइल के ऊपर लिखे जाने से सुरक्षा नहीं मिलती। इसलिए ऐसा नाम चुनें जो अभी इस्तेमाल न हुआ हो। कमांड यह आश्वासन नहीं देता कि डिजिटल हस्ताक्षर मान्य बना रहेगा।

मार्गदर्शिका में संबंधित स्थान

pdfwrite से PDF नए सिरे से बनाएँ

Ghostscript PDF को पढ़ता है और प्रत्येक पृष्ठ के आरेखन निर्देशों से नई फ़ाइल बनाता है; यहाँ /ebook पूर्वनिर्धारित सेटिंग का उपयोग किया जाता है।

/ebook प्रीसेट वाला Ghostscript उदाहरण। इससे छवियों की बारीकियाँ और दस्तावेज़ की कार्यक्षमता बदल सकती हैं।
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile="optimiert-gs.pdf" "original.pdf"

आप कोड वाले बॉक्स में भी कमांड सीधे चुनकर कॉपी कर सकते हैं।

कमांड के हिस्से
gsप्रोग्राम
Ghostscript को चलाता है।
-dSAFERपहुँच नियंत्रण
फ़ाइलों और डिवाइस तक पहुँच सीमित करता है। संस्करण 9.50 से यह डिफ़ॉल्ट है। यह सुरक्षा की कोई सामान्य गारंटी नहीं है।
-dBATCHइसके बाद बंद करें
दी गई फ़ाइलों का प्रसंस्करण पूरा होते ही Ghostscript को बंद कर देता है, बजाय संवादात्मक मोड में जाने के।
-dNOPAUSEबिना रुके
हर पृष्ठ के अंत में पूछे जाने वाले सवाल और विराम को रोकता है।
-sDEVICE=pdfwriteआउटपुट डिवाइस
pdfwrite चुनता है, जो एक नई PDF बनाता है। पाठ और वेक्टर ग्राफ़िक्स आमतौर पर बने रहते हैं। जो कुछ पृष्ठ के दिखाई देने वाले रूप का हिस्सा नहीं है, वह बदल सकता है।
-dPDFSETTINGS=/ebookपूर्वनिर्धारित सेटिंग
मध्यम चित्र रिज़ॉल्यूशन वाले कई अलग-अलग पैरामीटर एक साथ सेट करता है। नाम उपयोग के उद्देश्य को बताता है, गुणवत्ता के स्तर या आकार में निश्चित कमी को नहीं।
-sOutputFile="optimiert-gs.pdf"आउटपुट फ़ाइल
नई फ़ाइल का नाम तय करता है।
"original.pdf"इनपुट फ़ाइल
वह PDF जिसे Ghostscript पढ़ता है।

चित्रों के विवरण और दस्तावेज़ की सुविधाएँ बदल सकती हैं, भले ही पृष्ठ देखने में समान लगें। किसी निश्चित आकार या गुणवत्ता का आश्वासन नहीं है। सहेजे गए आउटपुट को जाँचें और ऐसा आउटपुट नाम चुनें जो अभी इस्तेमाल न हुआ हो।

मार्गदर्शिका में संबंधित स्थान

आउटपुट की संरचना जाँचें

सहेजे गए आउटपुट की सिंटैक्स जाँचता है। Ghostscript के परिणाम की जाँच के लिए कमांड में फ़ाइल का नाम बदलें।

सहेजे गए आउटपुट का सिंटैक्स जाँचता है। Ghostscript के परिणाम के लिए फ़ाइल का नाम बदलें।
qpdf "optimiert-qpdf.pdf" --check

आप कोड वाले बॉक्स में भी कमांड सीधे चुनकर कॉपी कर सकते हैं।

कमांड के हिस्से
qpdfप्रोग्राम
QPDF कमांड लाइन प्रोग्राम को चलाता है।
"optimiert-qpdf.pdf"जाँचने वाली फ़ाइल
QPDF कमांड का पहले सहेजा गया आउटपुट।
--checkसंरचना जाँचें
फ़ाइल की संरचना, एन्क्रिप्शन और रैखिकीकरण तथा स्ट्रीम की एन्कोडिंग की जाँच करता है।

वापसी मान 0 का अर्थ है कि जाँच में कोई त्रुटि नहीं मिली, 2 का अर्थ त्रुटियाँ और 3 का अर्थ चेतावनियाँ हैं। यह जाँच केवल फ़ाइल की संरचना से संबंधित है। यह नहीं बताती कि फ़ाइल सही दिखती है, फ़ॉर्म और लिंक काम करते हैं या उसका उपयोग सुरक्षित है।

मार्गदर्शिका में संबंधित स्थान

पृष्ठों की संख्या दिखाएँ

सहेजे गए आउटपुट के पृष्ठों की संख्या दिखाता है। मूल फ़ाइल के नाम के साथ कमांड दोबारा चलाएँ और दोनों संख्याओं की तुलना करें।

सहेजे गए आउटपुट के पृष्ठों की संख्या दिखाता है। मूल फ़ाइल के नाम के साथ कमांड दोबारा चलाएँ और तुलना करें।
qpdf "optimiert-qpdf.pdf" --show-npages

आप कोड वाले बॉक्स में भी कमांड सीधे चुनकर कॉपी कर सकते हैं।

कमांड के हिस्से
qpdfप्रोग्राम
QPDF कमांड लाइन प्रोग्राम को चलाता है।
"optimiert-qpdf.pdf"पृष्ठ गिनने के लिए फ़ाइल
QPDF कमांड का पहले सहेजा गया आउटपुट।
--show-npagesपृष्ठ गिनें
दी गई फ़ाइल के पृष्ठों की संख्या दिखाता है।

पृष्ठों की संख्या समान होने का अर्थ यह नहीं है कि सामग्री, चित्र और सुविधाएँ अपरिवर्तित हैं। पृष्ठों को स्वयं देखें।

मार्गदर्शिका में संबंधित स्थान

बटन आपके क्लिक करने के बाद ही दिखाए गए कमांड को क्लिपबोर्ड में लिखता है। यह क्लिपबोर्ड को पढ़ता नहीं है, कुछ सहेजता नहीं है और कुछ भेजता नहीं है।

इस पृष्ठ के कमांड QPDF और Ghostscript की आधिकारिक पुस्तिकाओं से लिए गए हैं। हमने इन्हें खुद Ubuntu या किसी दूसरे वितरण पर नहीं चलाया है, इसलिए यह परीक्षण की गई Ubuntu मार्गदर्शिका नहीं है। पहले जाँचें कि आपके सिस्टम पर कौन-से संस्करण इंस्टॉल हैं। आपके वितरण के पैकेज मौजूदा ऑनलाइन दस्तावेज़ों की स्थिति से अलग हो सकते हैं।

इंस्टॉल किए गए संस्करण दिखाएँ

इंस्टॉल किया गया QPDF संस्करण दिखाता है।
qpdf --version
Ghostscript का संस्करण और उपलब्ध आउटपुट डिवाइस दिखाता है।
gs -h

यदि शेल बताए कि कोई कमांड नहीं मिला, तो संभवतः प्रोग्राम इंस्टॉल नहीं है। पैकेज का नाम और उसे इंस्टॉल करने का तरीका आपके वितरण पर निर्भर करता है। वितरण और संस्करण लिख लें, ताकि बाद में परिणाम को समझा और दोहराया जा सके।

हर कोशिश के बुनियादी नियम

  • मूल फ़ाइल को न बदलें। इनपुट और आउटपुट के फ़ाइल नाम हमेशा अलग रखें।
  • हर आउटपुट को ऐसा नया नाम दें जिसका पहले इस्तेमाल न हुआ हो, ताकि किसी पुरानी फ़ाइल के ऊपर न लिखा जाए।
  • हर अगली कोशिश फिर से मूल फ़ाइल से शुरू करें, पिछली बार के परिणाम से नहीं।
  • ऐसे विकल्प या स्क्रिप्ट इस्तेमाल न करें जो सीधे इनपुट फ़ाइल को बदल देते हों।

QPDF: सहेजने की संरचना अनुकूलित करें

दस्तावेज़ों से लिया गया QPDF कमांड: छवियों का रिज़ॉल्यूशन घटाए या उन्हें JPEG के रूप में दोबारा एन्कोड किए बिना संरचना को कम जगह में सहेजता है।
qpdf "original.pdf" --object-streams=generate --compress-streams=y --decode-level=generalized --recompress-flate --compression-level=9 "optimiert-qpdf.pdf"

कमांड original.pdf पढ़ता है और optimiert-qpdf.pdf नाम की नई फ़ाइल लिखता है। विकल्प सुनिश्चित करते हैं कि ऑब्जेक्ट को ऑब्जेक्ट स्ट्रीम में एकत्र किया जाए, डेटा स्ट्रीम संपीड़ित की जाएँ और Flate डेटा को सबसे ऊँचे स्तर पर दोबारा संपीड़ित किया जाए। इसमें छवियों की पुनर्गणना शामिल नहीं है। ऑब्जेक्ट स्ट्रीम के लिए PDF 1.5 आवश्यक है। यदि प्राप्तकर्ता स्पष्ट रूप से PDF का कोई पुराना संस्करण माँगता है, तो यह कमांड बिना अतिरिक्त विचार के उपयुक्त नहीं है।

QPDF अतिरिक्त रूप से छवियों को अनुकूलित कर सकता है और चुनी जा सकने वाली गुणवत्ता पर JPEG डेटा को दोबारा एन्कोड कर सकता है। JPEG गुणवत्ता का विकल्प संस्करण 12.1 से उपलब्ध है। दोनों प्रक्रियाओं में छवि के कुछ डेटा की हानि होती है और पहले से संपीड़ित JPEG छवियों की गुणवत्ता और घट सकती है। इन्हें तभी इस्तेमाल करें जब आप उसके बाद छवियों की विशेष रूप से जाँच करें।

Ghostscript: प्रीसेट के साथ PDF दोबारा लिखें

/ebook प्रीसेट वाला Ghostscript उदाहरण। इससे छवियों की बारीकियाँ और दस्तावेज़ की कार्यक्षमता बदल सकती हैं।
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile="optimiert-gs.pdf" "original.pdf"

-sDEVICE=pdfwrite PDF आउटपुट चुनता है, -sOutputFile नई फ़ाइल का नाम तय करता है और इनपुट फ़ाइल अंत में होती है। -dBATCH और -dNOPAUSE, Ghostscript को इनपुट के इंतज़ार में रुकने से रोकते हैं। -dSAFER इसी रूप में Ghostscript की कमांड लाइन मार्गदर्शिका के उदाहरणों में भी दिया गया है। /ebook प्रीसेट केवल शुरुआत का एक विकल्प है, हर फ़ाइल के लिए सुझाव नहीं।

Ghostscript प्रीसेट सही तरह समझें

-dPDFSETTINGS से आप कई अलग-अलग पैरामीटर का पूरा समूह एक साथ चुनते हैं। प्रीसेट का नाम उसके उपयोग का उद्देश्य बताता है। वह न किसी गुणवत्ता स्तर को दर्शाता है, न किसी निश्चित बचत को।

मौजूदा Ghostscript पुस्तिका के अनुसार -dPDFSETTINGS के प्रीसेट (संस्करण 10.09.0 की स्थिति)। आपका इंस्टॉल किया गया संस्करण अलग हो सकता है।
प्रीसेटनिर्धारित उद्देश्यरंगीन और ग्रेस्केल छवियों का रिज़ॉल्यूशन घटाना
/screenस्क्रीन पर देखना, कम रिज़ॉल्यूशनसक्रिय। लक्षित मान 72 dpi, केवल उन छवियों के लिए जिनका रिज़ॉल्यूशन इस लक्षित मान के 1.5 गुने से अधिक है।
/ebookमध्यम रिज़ॉल्यूशनसक्रिय। लक्षित मान 150 dpi, केवल उन छवियों के लिए जिनका रिज़ॉल्यूशन इस लक्षित मान के 1.5 गुने से अधिक है।
/printerप्रिंटिंगडिफ़ॉल्ट रूप से सक्रिय नहीं
/prepressप्रिंट से पहले की तैयारीडिफ़ॉल्ट रूप से सक्रिय नहीं। अपने आप मूल के सबसे करीब रहने वाला विकल्प नहीं है।
/defaultव्यापक उपयोगडिफ़ॉल्ट रूप से सक्रिय नहीं

तो क्या /prepress सबसे अच्छी गुणवत्ता है? नहीं। पुस्तिका स्पष्ट रूप से बताती है कि /prepress मूल के सबसे करीब रहने वाली सेटिंग नहीं है। -dPDFSETTINGS के बिना परिणाम मूल के अधिक करीब रह सकता है। /prepress सबसे छोटी फ़ाइल देने की गारंटी भी नहीं देता।

/screen और /ebook के लक्षित मानों का अर्थ यह नहीं है कि उसके बाद हर छवि ठीक 72 या 150 dpi की होगी। सीमा से नीचे की छवियों का रिज़ॉल्यूशन नहीं घटाया जाता और वे अपना रिज़ॉल्यूशन बनाए रखती हैं। इससे वे आवश्यक रूप से पूरी तरह अपरिवर्तित नहीं रहतीं, क्योंकि प्रीसेट के दूसरे पैरामीटर, जैसे छवि एन्कोडिंग या रंगों से संबंधित पैरामीटर, उन्हें फिर भी बदल सकते हैं। -r विकल्प रिज़ॉल्यूशन घटाने का विकल्प नहीं है। यह केवल तब रिज़ॉल्यूशन नियंत्रित करता है जब Ghostscript को कुछ हिस्सों के लिए वैकल्पिक उपाय के तौर पर रेंडरिंग करनी पड़े, और यह एम्बेड की गई छवियों का रिज़ॉल्यूशन नहीं घटाता। पुस्तिका के अनुसार किसी प्रीसेट पर निर्भर रहने के बजाय अलग-अलग पैरामीटर सोच-समझकर तय करना अक्सर बेहतर होता है।

सभी फ़ाइलों के लिए एक ही प्रीसेट इस्तेमाल न करें। पाठ दस्तावेज़, फ़ोटो कैटलॉग और स्कैन पर अलग-अलग असर पड़ता है। स्कैन के मामले में स्कैन करते समय ही सुधार करना बेहतर है। इसका तरीका स्कैन की गई PDF का आकार घटाएँ मार्गदर्शिका बताती है।

पाठ, लिंक, फ़ॉर्म और हस्ताक्षर जाँचें

संपीड़ित करने के बाद PDF का पहले जैसा दिखना यह साबित नहीं करता कि उसमें सहेजा गया सब कुछ सुरक्षित रहा। Ghostscript फ़ाइल को दोबारा बनाता है। PDF अनुकूलन के बारे में Ghostscript की व्याख्या के अनुसार एक जैसा दिखाई देने वाला परिणाम बदले हुए निर्देश और मेटाडेटा छिपा सकता है। QPDF के बाद भी अपनी ज़रूरत की सुविधाएँ जाँचें:

  • पाठ चुनें, कॉपी करें और खोजकर देखें।
  • लिंक और बुकमार्क पर क्लिक करें।
  • यदि फ़ाइल एक फ़ॉर्म है, तो उसके फ़ील्ड भरें और परीक्षण के लिए सहेजें।
  • यदि प्राप्तकर्ता शीर्षक या लेखक जैसी जानकारी का उपयोग करता है, तो उसे जाँचें।
  • यदि PDF/A जैसे किसी विशेष मानक की आवश्यकता हो, तो उसके लिए बने टूल से जाँचें। यहाँ दिया गया कोई भी कमांड उस मानक के अनुपालन का भरोसा नहीं देता।

डिजिटल हस्ताक्षर वाली PDF

दोबारा लिखने के बाद डिजिटल हस्ताक्षर मान्य रहेगा या नहीं, इसका भरोसा दोनों में से कोई भी कमांड नहीं दे सकता। इसलिए हस्ताक्षर वाली PDF का आकार घटाने के लिए संपीड़न उपयुक्त तरीका नहीं है। हस्ताक्षर वाली मूल फ़ाइल को बिना बदलाव के रखें। यदि किसी और ने दस्तावेज़ पर हस्ताक्षर किया है और आपको छोटा संस्करण चाहिए, तो बिना हस्ताक्षर वाली मूल स्रोत फ़ाइल लें या हस्ताक्षर करने वाले से बात करें। दोबारा हस्ताक्षर करने के बारे में जारीकर्ता या प्राप्तकर्ता से सहमति लें। इसकी पृष्ठभूमि हस्ताक्षर वाली PDF की पाबंदियों के बारे में Adobe की जानकारी में मिलती है। स्कैन किया गया, दिखाई देने वाला हस्ताक्षर डिजिटल हस्ताक्षर नहीं है।

पासवर्ड सुरक्षा या संपादन की पाबंदियाँ हटाना आकार घटाने का हिस्सा नहीं है और यहाँ इसके लिए कोई कमांड नहीं दिया गया है। इसके बजाय भेजने वाले से उपयुक्त संस्करण माँगें। ऐसे दस्तावेज़ों को संभालने के बारे में और जानकारी हस्ताक्षर और फ़ॉर्म समझें मार्गदर्शिका में है।

परिणाम के आकार की तुलना करें और मूल फ़ाइल रखें

किसी कमांड का बिना त्रुटि संदेश के पूरा होना परिणाम के बारे में कुछ नहीं बताता। मूल और आउटपुट फ़ाइल के सटीक आकार की तुलना बाइट में करें, केवल MB में राउंड किए गए मानों की नहीं। कितने प्रतिशत की बचत हुई, इसकी गणना संपीड़न दर कैलकुलेटर से करें।

सिंटैक्स और पृष्ठों की संख्या जाँचें

सहेजे गए आउटपुट का सिंटैक्स जाँचता है। Ghostscript के परिणाम के लिए फ़ाइल का नाम बदलें।
qpdf "optimiert-qpdf.pdf" --check

QPDF वापसी मान 0 से त्रुटिरहित जाँच, 2 से त्रुटियाँ और 3 से चेतावनियाँ बताता है। यह जाँच केवल फ़ाइल की संरचना से संबंधित है। इससे यह पता नहीं चलता कि फ़ॉर्म, लिंक और छवियाँ पहले की तरह काम करते और दिखाई देते हैं या नहीं।

सहेजे गए आउटपुट के पृष्ठों की संख्या दिखाता है। मूल फ़ाइल के नाम के साथ कमांड दोबारा चलाएँ और तुलना करें।
qpdf "optimiert-qpdf.pdf" --show-npages

PDF व्यूअर में जाँचें

  1. सहेजी गई आउटपुट फ़ाइल को उसके फ़ोल्डर से दोबारा खोलें।
  2. सभी पृष्ठ देखें और पृष्ठ के प्रारूप तथा अभिविन्यास की मूल से तुलना करें।
  3. छवियाँ, छोटे अक्षर और बारीक रेखाएँ अधिक ज़ूम करके देखें।
  4. पिछले भाग में बताए अनुसार खोज, लिंक और फ़ॉर्म का परीक्षण करें।
  5. संभव हो तो फ़ाइल को दूसरे व्यूअर में भी खोलें।

आकार बढ़ गया, बदला नहीं या फ़ाइल खाली है?

Ghostscript किसी PDF को बड़ा भी कर सकता है। फ़ाइल दोबारा बनाई जाती है और अलग तरह से एन्कोड की जाती है। नए निर्देशों को कभी-कभी पुराने निर्देशों से अधिक जगह चाहिए होती है। QPDF से भी बहुत कम बचत होती है यदि फ़ाइल पहले से छोटे रूप में सहेजी गई हो।

बड़ा या बहुत थोड़ा छोटा परिणाम फिर भी मान्य हो सकता है। वह मान्य है या नहीं, यह सहेजी गई फ़ाइल की उन्हीं जाँचों से पता चलता है जो किसी दूसरे आउटपुट के लिए की जाती हैं, क्योंकि केवल आकार से त्रुटियों या खोई हुई सुविधाओं का पता नहीं चलता। अंत में अधिक उपयुक्त फ़ाइल रखें; अक्सर वह मूल फ़ाइल ही होती है। खाली, अपठनीय या क्षतिग्रस्त आउटपुट की स्थिति अलग है। वह असफल कोशिश है, बहुत अधिक संपीड़न नहीं। वह फ़ाइल न भेजें, टर्मिनल के संदेश पढ़ें और मूल फ़ाइल तथा नए आउटपुट नाम के साथ दोबारा शुरू करें।

यदि PDF का आकार प्राप्तकर्ता की सीमा से अब भी बड़ा है, तो अगले कदम PDF का आकार नहीं घट रहा मार्गदर्शिका में मिलेंगे। हर स्थिति में मूल फ़ाइल तब तक सँभालकर रखें जब तक नया संस्करण पहुँचकर स्वीकार न हो जाए।

गोपनीयता प्राथमिकताएँ

चुनें कि वैकल्पिक उपयोग विश्लेषण और विज्ञापन की अनुमति देनी है या नहीं। इस अप्रकाशित पूर्वावलोकन में अनुमति देने पर भी दोनों बंद रहेंगे। दस्तावेज़ टूल दोनों स्थितियों में काम करेंगे। आप पेज के निचले हिस्से से अपनी पसंद कभी भी बदल सकते हैं।

ज़रूरी सेटिंग

ज़रूरी

आपकी पसंद और रंग थीम इसी ब्राउज़र में सहेजी जाती हैं। दस्तावेज़ टूल वैकल्पिक सेवाओं के बिना भी उपलब्ध हैं।

निष्क्रिय

उपयोग का वैकल्पिक मापन। अभी निष्क्रिय है: अनुमति देने से आपकी पसंद सहेजी जाती है, लेकिन इस पूर्वावलोकन में कोई विश्लेषण सेवा चालू नहीं होती।

निष्क्रिय

वैकल्पिक विज्ञापन। अभी निष्क्रिय हैं: अनुमति देने से आपकी पसंद सहेजी जाती है, लेकिन इस पूर्वावलोकन में कोई विज्ञापन सेवा चालू नहीं होती।

वैकल्पिक उपयोग विश्लेषण और विज्ञापन बंद हैं।