आपकी PDF पाइपलाइन wkhtmltopdf पर चलती है, और यह सालों तक ठीक काम करती रही — जब तक कि प्रोजेक्ट आर्काइव नहीं हो गया। रिपॉज़िटरी 2 जनवरी 2023 को रीड-ओनली बना दी गई, इसलिए अब कोई नया सिक्योरिटी पैच नहीं आएगा, और इसके अंदर मौजूद पुराना WebKit इंजन आधुनिक CSS (flexbox, grid, custom properties) को अप्रत्याशित तरीके से रेंडर करता है। अगर अब आपकी रिपोर्ट्स गड़बड़ लेआउट में निकल रही हैं, या किसी प्रोडक्शन सर्वर पर बिना मेंटेनेंस वाली बाइनरी चलाना अब आप जायज़ नहीं ठहरा सकते, तो आपको एक सपोर्टेड विकल्प चाहिए। Windows पर, यह विकल्प है Total HTML Converter X।
त्वरित उत्तर: सरल, स्टैटिक HTML के लिए wkhtmltopdf अभी भी काम करता है और मुफ़्त बना रहता है, लेकिन इसका प्रोजेक्ट आर्काइव हो चुका है — कोई सिक्योरिटी पैच नहीं आएगा, और आधुनिक CSS अप्रत्याशित तरीके से रेंडर होता है। Windows सर्वर पर मेंटेन किए गए प्रोडक्शन के लिए, Total HTML Converter X मौजूदा CSS रेंडरिंग, लाइव URL और फ़ाइल को PDF, DOC, TIFF और JPEG में कन्वर्ट करने की सुविधा, एक साइलेंट कमांड लाइन, और ASP, PHP व .NET से कॉल की जा सकने वाली COM/ActiveX API देता है।
| Total HTML Converter X | wkhtmltopdf | |
|---|---|---|
| सक्रिय रूप से मेंटेन किया गया | हां — कमर्शियल प्रोडक्ट, लगातार अपडेट के साथ | नहीं — रिपॉज़िटरी 2 जनवरी 2023 से आर्काइव और रीड-ओनली |
| रेंडरिंग इंजन | पूर्ण CSS 1/2 सपोर्ट, पेज ब्रेक, fit-to-width वाला मौजूदा इंजन, साथ ही एक वैकल्पिक Chrome रेंडर इंजन | पुराना WebKit बिल्ड; आधुनिक CSS (flexbox, grid) अक्सर गलत रेंडर होता है, और अब कोई फिक्स नहीं मिलेगा |
| JavaScript हैंडलिंग | हां — Chrome रेंडर इंजन के ज़रिए (-engine chrome) | फ्रोज़न WebKit इंजन तक सीमित |
| सोर्स इनपुट | लोकल HTML/MHT फ़ाइलें और लाइव URL, बैच में | लोकल फ़ाइलें और URL |
| आउटपुट फ़ॉर्मेट | PDF, DOC, RTF, XLS, TIFF, JPG, PNG, TXT | सिर्फ़ PDF और इमेज (PNG, JPG) |
| कमांड लाइन | हां — साइलेंट बाइनरी, कोई GUI नहीं, कोई डायलॉग नहीं, कोई पॉप-अप नहीं | हां — कमांड-लाइन टूल |
| सर्वर API | ActiveX/COM, ASP, PHP, .NET, Python, Ruby, Java से कॉल किया जा सकने वाला | थर्ड-पार्टी लैंग्वेज बाइंडिंग और रैपर, कम्युनिटी-मेंटेन किए गए |
| PDF सुरक्षा | डिजिटल हस्ताक्षर (X.509 PFX), AES एन्क्रिप्शन, पासवर्ड, परमिशन फ़्लैग | बेसिक; कोई साइनिंग नहीं |
| लाइसेंस | कमर्शियल, $750 से शुरू एकमुश्त लाइसेंस, 30-दिन का मुफ़्त ट्रायल | मुफ़्त, ओपन सोर्स |
| ऑपरेटिंग सिस्टम | Windows 7/8/10/11 और Windows Server (IIS, Docker, Citrix, Wine) | Windows, Linux, macOS |
| सपोर्ट | CoolUtils से डेवलपर सपोर्ट | सिर्फ़ कम्युनिटी; प्रोजेक्ट आर्काइव हो चुका |
श्रेय जहां श्रेय बनता है: wkhtmltopdf ने अपनी जगह कमाई है। यह मुफ़्त और ओपन सोर्स है, एक ही कमांड से चलता है, और shell out कर सकने वाली किसी भी भाषा में आसानी से स्क्रिप्ट हो जाता है। एक दशक तक यह इस सवाल का डिफ़ॉल्ट जवाब था कि सर्वर पर इस HTML को PDF में कैसे रेंडर करें, और इसका इंस्टॉल्ड बेस बहुत बड़ा है — अनगिनत इनवॉइसिंग, रिपोर्टिंग और एक्सपोर्ट पाइपलाइन आज भी रोज़ इसे कॉल करती हैं। सरल, स्टैटिक HTML के लिए — एक टेबल, एक स्टाइल्ड रसीद, एक प्लेन रिपोर्ट — यह अब भी बिना किसी लागत के एक ठीक-ठाक PDF बना देता है।
अगर आपके टेम्पलेट सरल और फ़्रोज़न हैं, और आप एक आर्काइव हो चुकी बाइनरी चलाना स्वीकार करते हैं, तो wkhtmltopdf खराब नहीं है। दिक्क़त उस हर चीज़ में है जो इसके रुकने के बाद बदल गई: नया CSS, नया TLS, नई सिक्योरिटी अपेक्षाएं।
Windows सर्वर पर, Total HTML Converter X सबसे नज़दीकी ड्रॉप-इन है: यह आपके पहले से लिखे कमांड-लाइन वर्कफ़्लो को बनाए रखता है, एक मेंटेन किया गया रेंडरिंग इंजन जोड़ता है, और आउटपुट को PDF से आगे बढ़ाता है। आप एक CLI कॉल को दूसरे से बदलते हैं और बदले में साइनिंग, एन्क्रिप्शन, और अतिरिक्त फ़ॉर्मेट पाते हैं। अगर आप Linux या macOS पर चलाते हैं, तो Total HTML Converter X आपकी मदद नहीं करेगा — यह सिर्फ़ Windows के लिए है — और वहां मेंटेन किया गया रास्ता है हेडलेस Chrome या Chromium, सीधे या किसी रैपर के ज़रिए।
दो तरीके हैं: कमांड-लाइन बाइनरी को shell out करें, या ActiveX/COM ऑब्जेक्ट को इन-प्रोसेस कॉल करें। Shell out करना wkhtmltopdf पाइपलाइन से सबसे छोटा बदलाव है — आप बस executable और स्विच सिंटैक्स बदलते हैं:
<?php
// Convert a local HTML file to PDF from PHP on Windows
exec('HtmlConverter.exe C:\www\invoice.html C:\pdf\invoice.pdf -c pdf -log C:\log\html.txt');
?>
-c pdf स्विच टारगेट फ़ॉर्मेट सेट करता है; कई फ़ाइलों को एक PDF में मर्ज करने के लिए -combine जोड़ें, या नतीजे पर साइन करने के लिए -pfxfile और -pfxpass। चूंकि बाइनरी साइलेंट चलती है, इसलिए कोई डायलॉग वेब रिक्वेस्ट को ब्लॉक नहीं करता। Classic ASP या .NET से आप इसके बजाय बंडल किए गए ActiveX/COM ऑब्जेक्ट को बना सकते हैं और हर पेज के लिए एक चाइल्ड प्रोसेस लॉन्च किए बिना वही कन्वर्जन इन-प्रोसेस चला सकते हैं।
हां — कन्वर्टर को फ़ाइल पाथ की जगह एक URL दें और यह लाइव पेज को फ़ेच करके रेंडर कर देता है:
HtmlConverter.exe http://www.example.com C:\pdf\page.pdf -c pdf -log C:\log\html.txt
यह wkhtmltopdf के URL to PDF कॉल का सीधा विकल्प है। यही पैटर्न इमेज के लिए भी काम करता है — PDF लिखने के बजाय पेज को रास्टराइज़ करने के लिए -c jpg या -c tiff इस्तेमाल करें। एक वाइल्डकार्ड मास्क या -list टेक्स्ट फ़ाइल एक ही कमांड से URL या लोकल फ़ाइलों के पूरे बैच को प्रोसेस करने देती है।
Total HTML Converter X का लाइसेंस प्रति सर्वर $750 से शुरू होता है, और 30-दिन का ट्रायल बिना किसी सीमा के पूरी तरह फ़ंक्शनल है — इसे उन पेजों पर चलाएं जिन्हें आपकी मौजूदा पाइपलाइन सबसे खराब रेंडर करती है और PDF की साथ-साथ तुलना करें। वही इंजन डेस्कटॉप Total HTML Converter के रूप में भी उपलब्ध है, जब आपको एक बार के काम के लिए GUI चाहिए।
नि:शुल्क ट्रायल डाउनलोड करें और अपने फाइलों को मिनटों में कन्वर्ट करें।
कोई क्रेडिट कार्ड या ईमेल की आवश्यकता नहीं।