Markdown से PDF
Markdown पेस्ट करें या कोई .md फ़ाइल छोड़ें। GitHub-Flavored Markdown के साथ संगत। 100% आपके ब्राउज़र में: कुछ भी अपलोड नहीं होता।
कोई .md या .markdown फ़ाइल छोड़ें
या चुनने के लिए क्लिक करें — यह केवल आपके ब्राउज़र में पढ़ी जाती है
तकनीकी README और नोट्स के लिए आदर्श। तालिकाएँ समतल कर दी जाती हैं और निजता के लिए बाहरी इमेज छोड़ दी जाती हैं।
Your file is ready
Processed entirely in your browser — the file never left your device.
Markdown को PDF में कैसे बदलें
तीन चरण। सब कुछ आपके ब्राउज़र में होता है।
पेस्ट करें या छोड़ें
अपना markdown टेक्स्टएरिया में पेस्ट करें या कोई .md फ़ाइल छोड़ें। लाइव पूर्वावलोकन दिखाता है कि आउटपुट कैसा दिखेगा।
विकल्प चुनें
पेज आकार, ओरिएंटेशन, बॉडी फ़ॉन्ट आकार और कोड ब्लॉक शैली। डिफ़ॉल्ट अधिकांश README के लिए काम करते हैं।
बनाएँ और डाउनलोड करें
marked HTML में पार्स करता है, HTML को ब्लॉक में टोकनाइज़ किया जाता है और pdf-lib उन्हें लेआउट करता है — सब आपके टैब में।
imisspdf पर Markdown से PDF क्यों इस्तेमाल करें?
स्रोत आपकी मशीन पर रहता है
markdown में अक्सर आंतरिक नोट्स, पोस्ट के मसौदे या कोड ब्लॉक में API कुंजियाँ होती हैं। कुछ भी अपलोड नहीं होता — प्रक्रिया का हर बाइट स्थानीय रूप से चलता है।
तकनीकी दस्तावेज़ों के लिए तेज़
शीर्षक, सूचियाँ और फ़ेंस्ड कोड एक नज़र में साफ़-सुथरे रेंडर होते हैं। कोई प्रिंट डायलॉग नहीं, कोई Chrome कैप्चर नहीं — पेस्ट करें, क्लिक करें और डाउनलोड करें।
GFM के साथ संगत
स्ट्राइकथ्रू, टास्क सूचियाँ, फ़ेंस्ड कोड ब्लॉक, ऑटोलिंक — पार्सर GFM मोड में marked है। तालिकाएँ समतल कर दी जाती हैं (हम पहले ही बता देते हैं)।
यहाँ "Markdown से PDF" का क्या अर्थ है
Markdown वह फ़ॉर्मैट है जिसमें अधिकांश डेवलपर और तकनीकी लेखक वास्तव में लिखते हैं — README फ़ाइलें, ब्लॉग मसौदे, runbooks, API दस्तावेज़ीकरण, आंतरिक wikis। यह हल्का, संस्करण-योग्य है और GitHub पर साफ़-सुथरा रेंडर होता है। पर जब उस दस्तावेज़ को किसी ऐसे व्यक्ति के साथ साझा करने का समय आता है जो आपके रिपॉज़िटरी में काम नहीं करता, तो एक PDF आम तौर पर सही डिलीवरी फ़ॉर्मैट होती है: यह पूर्वानुमेय रूप से छपती है, किसी भी डिवाइस पर खुलती है और इस पर निर्भर नहीं करती कि प्राप्तकर्ता के पास markdown व्यूअर इंस्टॉल है या नहीं।
imisspdf का Markdown से PDF टूल उस markdown स्रोत को लेता है जिसे आप पेस्ट करते हैं (या .md फ़ाइल के रूप में छोड़ते हैं) और आपके ब्राउज़र में एक एकल PDF बनाता है। शीर्षक अपना पदानुक्रम बनाए रखते हैं, सूचियाँ अपनी इंडेंटेशन रखती हैं, फ़ेंस्ड कोड ब्लॉक मोनोस्पेस फ़ॉन्ट में रेंडर होते हैं, और कोट / क्षैतिज रेखाएँ कोट और रेखाओं की तरह दिखती हैं। परिणाम एक साफ़, बिना तामझाम वाली PDF है, जो किसी README, तकनीकी रिपोर्ट या किसी ग़ैर-तकनीकी पाठक को सौंपे गए चेंजलॉग के लिए उपयुक्त है।
कन्वर्ज़न कैसे काम करता है
तीन चरण आपके टैब में शुरू से अंत तक चलते हैं:
- marked पार्सर आपके markdown को GFM नियम सक्रिय रखते हुए HTML में बदलता है (फ़ेंस्ड कोड, स्ट्राइकथ्रू, टास्क सूचियाँ, ऑटोलिंक)।
- एक छोटा रेगुलर-एक्सप्रेशन आधारित टोकनाइज़र HTML को पार करता है और उसे ब्लॉक टोकन के एक समतल अनुक्रम में बदल देता है — शीर्षक, पैराग्राफ़, सूचियाँ, कोड ब्लॉक, कोट — और उनके इनलाइन हिस्से (बोल्ड, इटैलिक, इनलाइन कोड, लिंक)।
- pdf-lib ब्लॉक को पेजों पर PDF की 14 मानक फ़ॉन्ट का इस्तेमाल करते हुए लेआउट करता है (बॉडी के लिए Helvetica, कोड के लिए Courier)। जैसे-जैसे सामग्री बढ़ती है, नए पेज जोड़े जाते हैं।
इस प्रक्रिया में कुछ भी किसी सर्वर से बात नहीं करता। न तो दूरस्थ रूप से रेंडर किया गया markdown, न किसी क्लाउड फ़ंक्शन में शुरू होता हुआ हेडलेस Chromium, न "धारण के पालन हेतु एक घंटे के लिए" रखी कोई अस्थायी फ़ाइल। PDF JavaScript बाइट्स से बनाई जाती है जिन्हें आप अपने DevTools में लिखते हुए देख सकते हैं।
यह टूल कब सही है — और कब नहीं
यह टूल तब सही है जब आपको तकनीकी सामग्री की एक साफ़, आर्काइव-योग्य PDF चाहिए: एक README, एक runbook, markdown में लिखी एक रिपोर्ट, बैठक के नोट्स, एक ट्यूटोरियल। यह इनलाइन फ़ॉर्मैटिंग, सूचियाँ, कोड और कोट को वैसे ही संभालता है जैसे आप उस तरह के दस्तावेज़ के लिए अपेक्षा करेंगे।
यह तब ग़लत टूल है जब आपको किसी रेंडर की गई साइट से पिक्सेल-स्तर की निष्ठा चाहिए (रेंडर किए पेज पर अपने ब्राउज़र का Save as PDF विकल्प इस्तेमाल करें), जब आपको टाइपोग्राफ़िक तालिकाएँ चाहिए (स्थानीय रूप से Pandoc + LaTeX इस्तेमाल करें) या जब आपको सिंटैक्स-हाइलाइटेड कोड चाहिए (अपने एडिटर से HTML के रूप में एक्सपोर्ट करें और HTML से PDF इस्तेमाल करें)। हम सीमाओं का नाम पहले ही बता देते हैं ताकि आप सही वर्कफ़्लो चुनें।
निजता और सुरक्षा
markdown उन फ़ॉर्मैट में से एक है जिनमें ऐसी चीज़ें होने की सबसे अधिक संभावना होती है जो आप किसी सर्वर पर नहीं चाहेंगे: कोड ब्लॉक में API कुंजियाँ, लिंक में आंतरिक URL, पोस्ट के मसौदे जो आपने अभी प्रकाशित नहीं किए, बैठक के नोट्स में ग्राहकों के नाम। सर्वर-आधारित markdown-से-PDF टूल को वह सब ग्रहण करना पड़ता है। इस टूल की संरचना का अर्थ है कि आपको किसी निजता नीति पर भरोसा करने की ज़रूरत नहीं — प्रक्रिया में बस कोई अपलोड चरण ही नहीं है। अपना नेटवर्क बंद कर दें और पेज लोड होने के बाद भी कन्वर्ज़न काम करता रहता है।
अक्सर पूछे जाने वाले प्रश्न
हाँ — पार्सर GFM मोड में चलता है, इसलिए फ़ेंस्ड कोड ब्लॉक (``` बैकटिक के साथ), स्ट्राइकथ्रू (~~text~~), टास्क सूचियाँ, ऑटोलिंक, और GFM के ढीले पैराग्राफ़ नियम सभी काम करते हैं। जो कन्वर्ज़न में टिक नहीं पाता वह है तालिकाएँ: marked एक HTML <table> बनाता है, पर इस टूल का PDF रेंडरर तालिका सेल नहीं खींचता, इसलिए कोई तालिका समतल टेक्स्ट पंक्तियों के रूप में निकलेगी। यदि आपका README तालिकाओं पर बहुत निर्भर है, तो पहले पेज को GitHub में रेंडर करें और फिर असली ग्रिड आउटपुट के लिए HTML to PDF इस्तेमाल करें या उसका स्क्रीनशॉट लें।
नहीं। कोड ब्लॉक एक निश्चित-चौड़ाई वाले Courier फ़ॉन्ट में एक ही रंग पर रेंडर होते हैं ताकि कोड की इंडेंटेशन और संरचना सुपाठ्य रहे, पर टोकन भाषा के अनुसार रंगीन नहीं किए जाते। हम जानबूझकर सिंटैक्स हाइलाइटिंग छोड़ देते हैं क्योंकि यह एक 200 KB+ हाइलाइट लाइब्रेरी को ऐसे पेज पर लोड करने के लिए बाध्य करेगी जिसका मुख्य काम PDF में बदलना है, और PDF आम तौर पर छापी या आर्काइव की जाती हैं — IDE की तरह पढ़ी नहीं जातीं। यदि रंगीन कोड मायने रखता है, तो अपने एडिटर से हाइलाइट किया HTML हमारे HTML to PDF टूल से पेस्ट करें।
बाहरी इमेज टैग () हटा दिए जाते हैं — टूल दूरस्थ इमेज नहीं लाएगा। यह दो कारणों से जानबूझकर है: निजता (एक fetch आपके IP और referer को इमेज होस्ट तक लीक कर देगा) और विश्वसनीयता (नेटवर्क-निर्भर रेंडरिंग का अर्थ है असंगत आउटपुट)। यदि आपको PDF में इमेज एम्बेड करनी हैं, तो उन्हें अलग पेजों के रूप में जोड़ने के लिए JPG to PDF या PNG to PDF टूल इस्तेमाल करें, या Merge PDF का उपयोग करके उन्हें markdown-रेंडर की गई PDF के साथ मिला दें।
नहीं। markdown स्रोत और रेंडर की गई PDF दोनों पूरी तरह आपके ब्राउज़र टैब के अंदर रहते हैं। marked पार्सर, HTML-से-ब्लॉक टोकनाइज़र, और pdf-lib सभी क्लाइंट-साइड JavaScript हैं जो इस पेज पर एक बार लोड होकर फिर स्थानीय रूप से चलते हैं। आप अपने ब्राउज़र DevTools Network टैब में इसकी पुष्टि कर सकते हैं — पेज लोड होने के बाद, PDF बनाने पर शून्य आउटबाउंड नेटवर्क अनुरोध होते हैं। टैब बंद करें और हर निशान मिट जाता है; कोई सर्वर-साइड अस्थायी फ़ाइल नहीं है क्योंकि कोई सर्वर चरण ही नहीं है।
सभी छह markdown शीर्षक स्तर (# से ###### तक) घटते आकारों के साथ PDF शीर्षकों के रूप में रेंडर होते हैं (h1 सबसे बड़ा, h6 मुश्किल से बॉडी टेक्स्ट से बड़ा)। पदानुक्रम सुरक्षित रहता है ताकि स्क्रीन रीडर और PDF रीडर रूपरेखा उठा सकें। शीर्षकों के अंदर, इनलाइन फ़ॉर्मैटिंग (बोल्ड, इटैलिक, इनलाइन कोड) का सम्मान होता है। हम स्वतः सामग्री-तालिका नहीं बनाते — यदि आपके दस्तावेज़ को एक चाहिए, तो एक साधारण markdown सूची के साथ खुद "## Table of contents" अनुभाग जोड़ें।
उनके ग्रिड रूप में नहीं। marked तालिका को HTML में सही ढंग से पार्स करता है, पर हमारा PDF रेंडरर जानबूझकर एक सरल रेंडरर है और सेल बॉर्डर नहीं खींचता या कॉलम वितरित नहीं करता। तालिका टेक्स्ट पंक्तियों के अनुक्रम के रूप में, एक-एक पंक्ति, निकलेगी, जो 2x2 उदाहरण से अधिक किसी भी चीज़ के लिए आम तौर पर अपठनीय होती है। यदि आपके दस्तावेज़ के लिए तालिकाएँ अनिवार्य हैं, तो ईमानदार वर्कफ़्लो यह है: अपने पसंदीदा प्रीव्यूअर में HTML में रेंडर करें, स्क्रीनशॉट लें, और JPG to PDF इस्तेमाल करें — या पूर्ण LaTeX-स्तर के आउटपुट के लिए स्थानीय रूप से Pandoc इस्तेमाल करें। हम तालिकाओं को ख़राब ढंग से रेंडर करने का नाटक करने के बजाय इस सीमा के बारे में स्पष्ट हैं।
अच्छे आउटपुट के लिए सुझाव
- असली शीर्षक इस्तेमाल करें। किसी पंक्ति की शुरुआत में एक
#h1 बन जाता है; निचले स्तर साफ़-सुथरे ढंग से नेस्ट होते हैं। PDF रीडर और स्क्रीन रीडर रूपरेखा उठा लेते हैं। - कोड ब्लॉक को फ़ेंस्ड रखें। ट्रिपल बैकटिक वाले ब्लॉक Courier में रेंडर होते हैं, इसलिए रैप होने पर भी इंडेंटेशन सही पढ़ी जाती है।
- बहुत-इमेज वाले markdown से बचें। बाहरी इमेज डाउनलोड नहीं होतीं। इमेज को अलग से PDF में बदलें और मर्ज कर दें।
- तालिकाओं के लिए, पहले अपने टूल में markdown रेंडर करें और फिर स्क्रीनशॉट लें। या टाइपोग्राफ़िक तालिकाओं के लिए स्थानीय रूप से Pandoc इस्तेमाल करें।
संबंधित PDF टूल्स
- HTML से PDF — वही रेंडरर, markdown के बजाय HTML इनपुट के साथ।
- TXT से PDF — बिना किसी फ़ॉर्मैटिंग वाला सादा टेक्स्ट।
- PDF मर्ज करें — markdown की PDF को इमेज या अन्य फ़ाइलों के साथ मिलाएँ।
- PDF कंप्रेस करें — साझा करने के लिए आउटपुट को छोटा करें।