मुख्य सामग्री पर जाएं
PulsarKit

PDF को सटीक साइज तक कैसे कंप्रेस करें, सिर्फ “छोटा” नहीं

आम PDF कंप्रेशन में जो भी साइज निकल आए, वही मिलता है। ईमेल या अपलोड की सीमा के लिए किसी सटीक नंबर तक पहुंचना अलग काम है।

लेखक: PulsarKit · ·

क्वालिटी का लेवल और टारगेट साइज दो अलग-अलग मांगें हैं

ज्यादातर कंप्रेशन ऐसे ही काम करता है: आप क्वालिटी का लेवल चुनते हैं (हल्का, सुझाया गया या ज्यादा कंप्रेशन) और फिर देखते हैं कि परिणाम किस साइज पर आकर रुका। जब चिंता क्वालिटी की हो, तब यही सही तरीका है। लेकिन अगर फाइल किसी तय नंबर से छोटी चाहिए, जैसे ईमेल अटैचमेंट के लिए 25 MB या किसी वेब फॉर्म की अपलोड सीमा के लिए 2 MB, तो यह अलग मांग है। क्वालिटी की कोई एक तय सेटिंग पहले से नहीं जान सकती कि किसी खास डॉक्यूमेंट पर उससे कितना साइज बनेगा। सटीक नंबर तक पहुंचने के लिए साइज से पीछे की ओर चलना पड़ता है, क्वालिटी के चुनाव से आगे की ओर नहीं। सवाल बदल जाता है: “यह कितना अच्छा दिखना चाहिए” की जगह “इसे कितना छोटा होना है”। और दूसरे सवाल का जवाब पाने के लिए अलग प्रक्रिया चाहिए।

तय नंबर तक पहुंचने के लिए खोज करनी पड़ती है, एक बार का अंदाजा काफी नहीं

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

कुछ टारगेट तक फाइल पहुंच ही नहीं सकती

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

टारगेट साइज कुछ भी हो, टेक्स्ट साफ रहता है

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

जब सबसे छोटा संभव साइज भी काफी न हो

किसी डॉक्यूमेंट में रास्टर कंटेंट वाले इतने पेज हो सकते हैं कि कोई भी टारगेट साइज उनके लिए कम पड़े। तब जवाब छोटा नंबर नहीं, बल्कि कम पेज है। “PDF स्प्लिट करें” से फाइल को हिस्सों में बांटें और हर हिस्से को अलग से टारगेट तक कंप्रेस करें। यह इसलिए काम करता है कि साइज की निचली सीमा पेजों की संख्या के हिसाब से घटती-बढ़ती है। जिस काम के लिए साइज की सीमा है, उसके लिए जो पेज जरूरी नहीं हैं, उन्हें “पेज हटाएं” से हटा देना भी काम करता है। तीसरा और ज्यादा कड़ा रास्ता है टेक्स्ट से भरे डॉक्यूमेंट को पहले “PDF से टेक्स्ट” से सादे टेक्स्ट में बदलना। इसके बारे में जान लेना उस दुर्लभ मामले के लिए काम का है, जब इतना भी काफी न हो।

नंबरों का मतलब: DPI, क्वालिटी और निचली सीमा

PDF की हर इमेज का वजन दो नंबर तय करते हैं। रिजॉल्यूशन तय करता है कि कितने पिक्सल रखने होंगे: 300 DPI पर स्कैन किए गए A4 पेज में लगभग 87 लाख पिक्सल होते हैं, वही पेज 150 DPI पर उसका एक-चौथाई और 96 DPI पर लगभग दसवां हिस्सा। JPEG क्वालिटी तय करती है कि हर पिक्सल के लिए कितने बाइट रखे जा सकते हैं: 85 मूल के करीब है, 45 पर फोटो साफ तौर पर कम शार्प दिखती हैं। रिजॉल्यूशन घटाना ज्यादा भारी कदम है, इसलिए “PDF कंप्रेस करें” का टारगेट मोड पहले क्वालिटी आजमाता है, लेकिन सिर्फ 45 तक, जो उसके “सबसे छोटी फाइल” लेवल की क्वालिटी है। इससे नीचे जाने के बजाय वह रिजॉल्यूशन कम करता है।

खोज क्वालिटी 65 से शुरू होती है और फिर 45 आजमाती है, दोनों पूरे रिजॉल्यूशन पर। अगर फाइल अब भी बहुत भारी है, तो इमेज 300, 150, 96 और आखिर में 72 DPI तक सीमित की जाती हैं, हर कदम पर क्वालिटी 45 के साथ। जो कदम इस डॉक्यूमेंट की इमेज को बदलेगा ही नहीं, उसे छोड़ दिया जाता है; सिर्फ 72 DPI पर क्वालिटी 20 तक नीचे जाती है। जिस पहले कदम पर फाइल सीमा में आ जाती है, वहां क्वालिटी फिर से टारगेट की ओर बढ़ाई जाती है। खोज तभी रुक जाती है, जब फाइल टारगेट के 90 से 100 प्रतिशत के बीच आ जाए, ज्यादा से ज्यादा आठ बार फाइल बनाने के बाद। इसलिए 1 MB मांगने पर आमतौर पर 0.9 से 1 MB की फाइल मिलती है। 72 DPI पर क्वालिटी 20 व्यावहारिक निचली सीमा है: फाइल टारगेट मोड में खुलते ही इसे नापा जाता है, और इससे छोटे टारगेट चुने नहीं जा सकते।

इस लेख में इस्तेमाल हुए टूल

आगे पढ़ें