Markdown को PDF में बदलें बिना दस्तावेज़ खोए
Markdown स्क्रीन पर स्क्रॉल करने के लिए लिखा जाता है। PDF में पृष्ठ होते हैं, और पृष्ठों की सीमाएँ होती हैं। अधिकांश कन्वर्टर इस अंतर को अनदेखा कर देते हैं: वे फ़ाइल को ब्राउज़र को सौंपते हैं, प्रिंट दबाते हैं, और जो भी निकलता है उसे वापस भेज देते हैं। यही कारण है कि किसी तालिका के अंतिम चार कॉलम गायब हो जाते हैं, कोई शीर्षक पृष्ठ के अंत में अकेला रह जाता है, और README के ऊपर का लोगो कच्चे HTML की एक लाइन के रूप में टेक्स्ट में छप जाता है। यह टूल पहले दस्तावेज़ को कागज़ के लिए व्यवस्थित करता है, और फिर आपको बताता है कि वहाँ पहुँचने के लिए उसे क्या करना पड़ा।
ऐसी तालिकाएँ जो कागज़ में समा जाएँ
Markdown तालिका में कॉलम की चौड़ाई नहीं होती। सिंटैक्स में उन्हें रखने की कोई जगह नहीं है, इसलिए जो कन्वर्टर तालिका को सीधे ब्राउज़र को भेजता है, वह केवल उम्मीद करता है कि वह फिट हो जाए। यहाँ हर तालिका को खींचने से पहले मापा जाता है और आपके चुने हुए कागज़ के अनुसार आकार दिया जाता है। फ़ाइल पथों की चौदह कॉलम चौड़ी तालिका भी सीमाओं के भीतर रहती है, लंबे मान किनारे से बाहर जाने के बजाय लपेट दिए जाते हैं, और परिणाम में यह भी बताया जाता है कि ऐसा क्यों किया गया।
समस्या का शांत हिस्सा दूसरे पृष्ठ पर होता है। लंबी तालिका आमतौर पर अपना हेडर पंक्ति पहले पृष्ठ पर छोड़ देती है, जिससे पाठक को बिना लेबल वाले नंबरों की ग्रिड मिलती है। यहाँ हेडर हर पृष्ठ पर दोहराया जाता है जहाँ तक तालिका जाती है, और कोई भी पंक्ति पृष्ठ ब्रेक से बीच में नहीं कटती।
ऐसा कोड जो सीमाओं में भी सही रहे
फेंस किया गया कोड अपनी हाइलाइटिंग और भाषा लेबल के साथ रहता है। लंबी पंक्तियाँ लपेट दी जाती हैं ताकि आप देख सकें कि वे लपेटी गई हैं, बजाय इसके कि कागज़ के खत्म होते ही कट जाएँ। PDF में कोई स्क्रॉलबार नहीं होता, इसलिए जो पंक्ति नहीं लपेटती, उसका दायाँ हिस्सा गायब हो जाता है। इंडेंटेड ब्लॉक, बिना भाषा वाले फेंस, और इनलाइन कोड सभी अपनी पहचान में ही आते हैं।
आपके README की तस्वीरें
लोगो और बिल्ड बैज की पंक्ति लगभग कभी भी Markdown में नहीं लिखी जाती। इसमें तस्वीर को केंद्र में रखने का कोई तरीका नहीं है, इसलिए README फाइलें कच्चे HTML का सहारा लेती हैं। जो कन्वर्टर HTML को रेंडर करने से मना करता है, वह आमतौर पर उसे छोड़ने के बजाय एस्केप कर देता है, जिससे दस्तावेज़ की शुरुआत में इमेज टैग्स टेक्स्ट के रूप में छप जाते हैं। यहाँ मार्कअप हटा दिया जाता है और उसमें मौजूद तस्वीरें और शब्द रखे जाते हैं, ताकि दस्तावेज़ का शीर्ष वही दिखे जैसा होना चाहिए।
तस्वीरें फ़ेच करके फ़ाइल में एम्बेड की जाती हैं, लिंक नहीं की जातीं, ताकि PDF ऑफ़लाइन भी काम करे और एक साल बाद भी। अगर कोई तस्वीर फ़ेच नहीं हो पाती, तो परिणाम उसे गिनता है और बताता है, बजाय इसके कि चुपचाप वहाँ खाली जगह छोड़ दे जहाँ तस्वीर होनी चाहिए थी।
आपके शीर्षक बनते हैं नेविगेशन
हर PDF में आपके अपने शीर्षकों से बनी बुकमार्क ट्री होती है, ताकि लंबा दस्तावेज़ साइडबार से नेविगेट किया जा सके, स्क्रॉल करने की जरूरत न पड़े। अगर आप कंटेंट्स पेज माँगते हैं तो आपको एक क्लिक करने योग्य पेज भी मिलता है, जितनी गहराई तक आप चाहें। सबसे ऊपर का एकल शीर्षक दस्तावेज़ का शीर्षक माना जाता है और सूची में नहीं आता, जैसे किताब में शीर्षक होता है, अध्याय में नहीं।
फुटनोट्स फुटनोट्स ही रहते हैं, ऊपर उठा हुआ मार्कर और वापस पढ़ी जा रही लाइन पर लिंक के साथ। टास्क लिस्ट अपनी टिक और अनटिक बॉक्स के साथ रहती हैं। नोट, चेतावनी और टिप कॉलआउट अपनी रंगीन पट्टी के साथ रहते हैं। फ़ाइल के शीर्ष पर फ्रंट मैटर को मेटाडेटा माना जाता है और वह पृष्ठ पर नहीं आता। डेफिनिशन लिस्ट, स्ट्राइकथ्रू, नेस्टेड कोट्स और तीन स्तर की नेस्टेड लिस्ट सभी अपनी तरह से रेंडर होती हैं।
यह आपको बताता है कि क्या नहीं कर सका
हर कन्वर्ज़न के साथ उसका एक छोटा सा विवरण आता है: कितने पृष्ठ, टेक्स्ट किस दिशा में है, कितनी तालिकाएँ, कितने कोड ब्लॉक, कितनी तस्वीरें एम्बेड हुईं और कितनी नहीं मिल सकीं। अगर किसी फ़ॉन्ट में कोई अक्षर नहीं था, तो वह अक्षर सूचीबद्ध किया जाता है। अगर आपने कंटेंट्स पेज माँगा और दस्तावेज़ में कोई शीर्षक नहीं है, तो यह बता देता है, बजाय इसके कि खाली पृष्ठ वाला फ़ाइल दे दे। जो कन्वर्टर अपनी कमियों को छुपाता है, उसी वजह से लोग कन्वर्टर पर भरोसा करना छोड़ देते हैं।
लैटिन नहीं, दूसरी लिपियाँ
फ़ॉन्ट PDF के अंदर ही आते हैं, ताकि दस्तावेज़ हर मशीन पर एक जैसा खुले, चाहे वहाँ कोई फ़ॉन्ट इंस्टॉल न हो। दाएँ से बाएँ लिखी स्क्रिप्ट को पूरे फ़ाइल के बजाय ब्लॉक दर ब्लॉक जाँचा जाता है, क्योंकि तकनीकी दस्तावेज़ों में अक्सर आधा लैटिन अक्षर होते हैं, फ़ाइल पथ और क्लास नामों से भरे होते हैं, और फिर भी दाएँ से बाएँ पढ़े जाते हैं। फेंस किया गया कोड उस निर्णय से बाहर रहता है और हमेशा बाएँ से दाएँ सेट होता है, बाकी लेआउट सही तरह से मिरर होता है: बुलेट, कोट बार और टेबल कॉलम सभी अपनी जगह बदलते हैं। जहाँ किसी लिपि में इटैलिक नहीं है, वहाँ जोर देने के लिए अक्षरों को तिरछा करने के बजाय वज़न बढ़ाया जाता है।
क्या नहीं किया जाएगा
LaTeX रेंडर नहीं किया जाता। डॉलर साइन के बीच का ब्लॉक जैसा है वैसा ही टेक्स्ट में छपता है। Mermaid भी नहीं बनती: mermaid लेबल वाली फेंस कोड ब्लॉक के रूप में आती है। चीनी, जापानी और कोरियाई उन फ़ॉन्ट्स में नहीं आते जो टूल के साथ आते हैं, इसलिए उन लिपियों के अक्षर मिसिंग के रूप में रिपोर्ट होते हैं, अनुमान नहीं लगाए जाते। ये सीमाएँ हैं, कमियाँ नहीं, और इन्हें यहाँ लिखा गया है ताकि कोई इन्हें फ़ाइल अपलोड करने के बाद न खोजे।
व्यावहारिक हिस्सा
अपने डिवाइस से, Google Drive से, या फ़ाइल का लिंक पेस्ट करके अपलोड करें। Markdown फ़ाइलें उनकी सामान्य एक्सटेंशन में स्वीकार की जाती हैं, और साधारण टेक्स्ट भी। कागज़ A3, A4, A5, Letter, Legal या Tabloid हो सकता है, पोर्ट्रेट या लैंडस्केप, संकरी, सामान्य या चौड़ी सीमाओं के साथ। पृष्ठ संख्या और सिंटैक्स हाइलाइटिंग चालू रहती है जब तक आप उन्हें बंद न करें। एक फ़ाइल भेजें और PDF वापस आएगा; कई भेजें तो वे ZIP में आएँगे, या अगर आप चाहें तो एक मर्ज PDF के रूप में लगातार पृष्ठ संख्या के साथ। टेक्स्ट असली टेक्स्ट ही रहता है, ताकि उसे चुना, खोजा और कॉपी किया जा सके, न कि शब्दों की तस्वीर में बदल दिया जाए।
आपको क्या मिलता है
- ऐसी तालिकाएँ जो सीमाओं के भीतर रहती हैं, और हेडर पंक्ति हर पृष्ठ पर दोहराई जाती है
- सिंटैक्स हाइलाइटेड कोड जिसमें लंबी पंक्तियाँ लपेटी जाती हैं, कटती नहीं
- फ़ाइल में एम्बेड की गईं तस्वीरें, जिनमें कच्चे HTML में लिखी गई भी शामिल हैं
- आपके शीर्षकों से बनी बुकमार्क ट्री, और जब चाहें क्लिक करने योग्य कंटेंट्स पेज
- PDF के अंदर लाए गए फ़ॉन्ट्स, ताकि फ़ाइल हर मशीन पर एक जैसी दिखे
- जो भी कन्वर्टर नहीं कर सका उसका लिखित विवरण, जिसमें मिसिंग अक्षर और तस्वीरें शामिल हैं
अब आगे क्या?
क्या आप Word फ़ाइल से काम कर रहे हैं? Word को PDF में बदलें भी इसी तरह कागज़ पर जाता है। रिपोर्ट के बाकी हिस्से के साथ परिणाम को जोड़ें PDF मर्ज करें का उपयोग करके। फिर फ़ाइल का आकार कम करें भेजने से पहले PDF संपीड़ित करें के साथ।