जावास्क्रिप्ट का उपयोग करके वेब ब्राउज़र से सीधे PDF प्रिंट करना ब्राउज़र की असंगतताओं और सुरक्षा संबंधी चिंताओं के कारण सरल नहीं है। हालाँकि, कई तकनीकें प्रभावी रूप से PDF के लिए ब्राउज़र के प्रिंट डायलॉग को ट्रिगर कर सकती हैं। यह लेख दो लोकप्रिय विधियों का पता लगाता है: iframe का उपयोग करना और Print.js लाइब्रेरी का उपयोग करना।
विषयवस्तु की तालिका
iframe टैग के साथ PDF प्रिंट करना
यह दृष्टिकोण सरल है, जिसमें किसी बाहरी लाइब्रेरी की आवश्यकता नहीं होती है। यह PDF को एक iframe में एम्बेड करता है, और फिर iframe के संदर्भ से प्रिंटिंग को ट्रिगर करता है।
कार्यान्वयन:
- PDF एम्बेड करें: एक
<iframe>
टैग का उपयोग करें, इसकेsrc
एट्रिब्यूट को PDF के URL पर सेट करें और CSS का उपयोग करके इसे छिपाएँ: - प्रिंटिंग ट्रिगर करें: iframe के कंटेंट विंडो तक पहुँचने के लिए जावास्क्रिप्ट का उपयोग करें और इसकी
print()
विधि को कॉल करें: - एक प्रिंट बटन जोड़ें: एक बटन बनाएँ जो
printPdf()
को कॉल करे:
<iframe id="pdf-iframe" src="your-pdf-file.pdf" style="display: none;"></iframe>
function printPdf() {
const iframe = document.getElementById('pdf-iframe');
if (iframe.contentWindow) { // त्रुटियों को रोकने के लिए जांचें कि contentWindow मौजूद है या नहीं
iframe.contentWindow.focus(); // यह सुनिश्चित करने के लिए कि प्रिंट करने से पहले iframe पर फोकस है
iframe.contentWindow.print();
} else {
console.error("त्रुटि: iframe कंटेंट विंडो तक पहुँच नहीं हो सकी।");
}
}
<button onclick="printPdf()">PDF प्रिंट करें</button>
सीमाएँ:
- ब्राउज़र संगतता: ब्राउज़रों में विश्वसनीयता अलग-अलग होती है। कुछ को उपयोगकर्ता इंटरैक्शन या विशिष्ट अनुमतियों की आवश्यकता हो सकती है।
- सीमित नियंत्रण: पृष्ठ श्रेणियों या प्रिंट सेटिंग्स पर न्यूनतम नियंत्रण।
- सुरक्षा: PDF को सीधे एम्बेड करने से PDF के मूल के आधार पर सुरक्षा जोखिम हो सकते हैं।
Print.js लाइब्रेरी के साथ PDF प्रिंट करना
Print.js एक अधिक मज़बूत और सुविधा संपन्न समाधान प्रदान करता है, जो ब्राउज़र की असंगतताओं को संभालता है और बेहतर नियंत्रण प्रदान करता है। यह एक हल्की लाइब्रेरी है जिसे आसानी से आपके प्रोजेक्ट में एकीकृत किया जा सकता है।
कार्यान्वयन:
- Print.js शामिल करें: CDN का उपयोग करके अपने HTML में Print.js लाइब्रेरी जोड़ें:
- प्रिंटिंग ट्रिगर करें: Print.js के
printJS()
फ़ंक्शन का उपयोग करें: - एक प्रिंट बटन जोड़ें (पहले जैसा ही):
<script src="https://cdnjs.cloudflare.com/ajax/libs/print.js/1.6.2/print.min.js"></script>
function printPdf() {
printJS({
printable: 'your-pdf-file.pdf',
type: 'pdf',
});
}
<button onclick="printPdf()">PDF प्रिंट करें</button>
लाभ:
- बेहतर ब्राउज़र संगतता: क्रॉस-ब्राउज़र अंतरों को प्रभावी ढंग से संभालता है।
- अधिक नियंत्रण: iframe विधि की तुलना में कुछ अनुकूलन विकल्प प्रदान करता है।
- उपयोग में आसान: एक सरल और अधिक सहज API।
सही विधि चुनना
iframe विधि सरल है लेकिन कम विश्वसनीय है और कम नियंत्रण प्रदान करती है। Print.js एक अधिक मज़बूत, सुविधा संपन्न और उपयोग में आसान समाधान प्रदान करता है, लेकिन एक बाहरी लाइब्रेरी जोड़ने की आवश्यकता होती है। सबसे अच्छा विकल्प आपकी परियोजना की आवश्यकताओं पर निर्भर करता है, कार्यान्वयन में आसानी, आवश्यक नियंत्रण और ब्राउज़र संगतता जैसे कारकों को प्राथमिकता देता है।