मैं अपनी सामग्री को पुनर्प्राप्त करने के लिए अजाक्स कार्यक्षमता का उपयोग कर रहा हूं और मुझे jQuery.ajax()
की सफलता पर पीडीएफ निर्यात करने की आवश्यकता है। मैं उसे कैसे कर सकता हूँ?क्या jQuery का उपयोग करके पीडीएफ उत्पन्न करना संभव है?
उत्तर
jQuery नहीं कर सकता (क्योंकि जावास्क्रिप्ट नहीं कर सकता) डेटा से पीडीएफ बना सकता है, नहीं ... यह आपके सर्वर से (किसी भी अन्य अनुरोध की तरह) प्राप्त कर सकता है, लेकिन यह एक उत्पन्न नहीं कर सकता है। जावास्क्रिप्ट में क्रॉस-ब्राउजर, विशेष रूप से एक बाइनरी फ़ाइल काम करने वाली फ़ाइल बनाने/सहेजने के लिए बस एक तंत्र नहीं है (हालांकि अब कुछ HTML5 विकल्प लागू किए जा रहे हैं)।
यदि संभव हो तो सर्वर-पक्ष पीडीएफ उत्पन्न करने के लिए बेहतर विकल्प है। यह शायद अधिकांश उपयोगकर्ताओं के लिए तेज़ होने जा रहा है और मानक HTTP अनुरोध के माध्यम से फ़ाइल लौटने के लिए मौजूदा क्लाइंट-साइड विकल्पों की तुलना में अधिक मजबूत है।
कहा कि, इस पुस्तकालय क्लाइंट-साइड पर एक पीडीएफ उत्पन्न करेगा: http://snapshotmedia.co.uk/blog/jspdf
ब्राउज़रों कि डेटा यूआरआई समर्थन में, यह पीडीएफ सीधे लौट सकते हैं। अन्य ब्राउज़रों में, आप इसे एक फ्लैश घटक के साथ जोड़ सकते हैं जिसे इसे पूरा करने के लिए डाउनलोडिफ़ी कहा जाता है।
यदि आप अपने AJAX सफलता में अपने सर्वर से पीडीएफ डेटा पुनर्प्राप्त कर रहे हैं और इसे डाउनलोड करने के रूप में अपने उपयोगकर्ता को आउटपुट करने की आवश्यकता है, तो इसे बेस 64 एन्कोडिंग के एक छोटे से बिट के साथ पूरा किया जा सकता है। अगर मैं सही ढंग से समझता हूं, तो संभवतः आपके पास एक परिदृश्य है जहां आपका सर्वर सफलतापूर्वक पीडीएफ या सफलता पर कुछ अन्य डेटा प्रकार लौटा रहा है (जैसे एक्सएमएल)। इस मामले में, आपके पास अनुरोध को संभालने के लिए दो चरण हैं:
1) सामग्री के प्रकार को उसके शीर्षलेख के माध्यम से निर्धारित करें।)
$.ajax({
type: "POST", url: "/test", data: someData, success: function(response, status, xhr){
var ct = xhr.getResponseHeader("content-type") || "";
if (ct.indexOf(‘xml’) > -1) {
// handle xml here
}
if (ct.indexOf(‘pdf’) > -1) {
// handle pdf here
}
}
});
2 बार जब आप अपने पीडीएफ सामग्री है, तो आप ब्राउज़र अनुप्रेषित एक बेस 64 डेटा चाल का उपयोग करके पीडीएफ को दिखाने के लिए कर सकते हैं: यहाँ प्रतिक्रिया के आधार पर अपने हैंडलर बंटवारे का एक उदाहरण है। सबसे पहले, बेस 64 में डेटा सामग्री एन्कोड करें। जावास्क्रिप्ट में ऐसा करने में आपकी सहायता के लिए number of libraries हैं। फिर, document.location.href के माध्यम से अपनी सामग्री वापस करें:
document.location.href = 'data:application/pdf;base64,' + base64PDFData;
आपको जो चाहिए वह प्राप्त करना चाहिए। आप सैद्धांतिक रूप से किसी भी सामग्री-प्रकार को इस विधि में ब्राउज़र में अग्रेषित कर सकते हैं।
संपादित:
मुझे लगता है कि डेटा uri दुर्भाग्य से आईई due to security restrictions में काम नहीं करेगा उल्लेख करना चाहिए।
यदि आप जिस HTML से बात कर रहे हैं वह एक तालिका है, तो आप पीडीएफ उत्पन्न करने के लिए tableTools के साथ jquery.dataTables प्लग का उपयोग कर सकते हैं। यह दृश्यों के पीछे फ्लैश का उपयोग करता है और फ़ॉर्मेटिंग पर गंभीर रूप से सीमित है, लेकिन यह पीडीएफ उत्पन्न करता है।
मुझे लगता है कि आप इस प्लगइन
का उपयोग कर सकते हैं अपने स्क्रिप्ट को यह करें:
<script src="https://docraptor.com/docraptor-1.0.0.js"></script>
DocRaptor.createAndDownloadDoc("YOUR_API_KEY_HERE", {
test: false, // test documents are free, but watermarked
type: "pdf",
name: planStatus+"_" +assessmentYear+"_"+employeeId+ ".pdf",
document_content: document.querySelector('#MyDoc').innerHTML, // use this page's HTML
// document_content: "<h1>Hello world!</h1>", // or supply HTML directly
// document_url: "http://example.com/your-page", // or use a URL
// javascript: true, // enable JavaScript processing
// prince_options: {
// media: "screen", // use screen styles instead of print styles
// }
})
पीडीएफ उत्पन्न करने के लिए कोड कॉपी और पेस्ट करें, और आप पीडीएफ वाईपीयू को किसी भी नाम दे सकते हैं। मैंने अपनी ज़रूरत के अनुसार चर से लिया गया नाम दिया है –
- 1. क्या अनाम प्रकार का उपयोग करके डेटाबेस करना संभव है?
- 2. क्या हैमल का उपयोग करके सादे पुराने एक्सएमएल उत्पन्न करना संभव है?
- 3. क्या jquery कुकीज़ का उपयोग करके "मुझे याद रखें" लागू करना संभव है?
- 4. क्या रिपोर्ट बिल्डर रिपोर्ट में पीडीएफ प्रदर्शित करना संभव है?
- 5. रेल पर रूबी या रूबी का उपयोग करके हस्ताक्षर के साथ पीडीएफ उत्पन्न करना
- 6. पीडीएफ में एसवीजी एम्बेड करना (जेएस का उपयोग करके पीडीएफ में एसवीजी निर्यात करना)
- 7. क्या एमयूपीडीएफ का उपयोग करके संशोधित पीडीएफ को सहेजना संभव है?
- 8. क्या आईपी एड्रेस प्राप्त करके सॉकेट का उपयोग करके दो आईओएस डिवाइस कनेक्ट करना संभव है?
- 9. क्या PHP का उपयोग करके आरएसएस फ़ीड में प्रमाणीकरण का उपयोग करना संभव है?
- 10. क्या पीडीएफ फॉर्म फ़ील्ड नामों को संशोधित करना संभव है?
- 11. क्या डाउनलोडमैनेजर का उपयोग करके डाउनलोड को रद्द करना/बंद करना संभव है?
- 12. क्या यह $ (इस) का चयन करना संभव है और jQuery
- 13. क्या प्रोग्रामिंग रूप से केवल सी # का उपयोग कर X509 प्रमाणपत्र उत्पन्न करना संभव है?
- 14. प्रतिक्रिया ऑब्जेक्ट्स का उपयोग किए बिना जेएक्स-आरएस का उपयोग करके ईटैग सेट करना संभव है?
- 15. क्या 'xlsread' का उपयोग करके Excel शीट्स का नाम MATLAB में लोड करना संभव है?
- 16. क्या डेटाबेस से django मॉडल उत्पन्न करना संभव है?
- 17. क्या स्वचालित रूप से एक्सकोड परियोजनाएं उत्पन्न करना संभव है?
- 18. क्या सीएक्सएफ के साथ धारावाहिक कक्षाएं उत्पन्न करना संभव है?
- 19. मैं लाटेक्स का उपयोग करके प्रोग्रामेटिक रूप से पीडीएफ कैसे उत्पन्न कर सकता हूं?
- 20. यदि UITableView से पीडीएफ फाइल जेनरेट करना संभव है?
- 21. क्या हिपहॉप में पीईसीएल एक्सटेंशन का उपयोग करना संभव है?
- 22. क्या सी # में जटिल स्वर उत्पन्न करना संभव है?
- 23. क्या एफ 4 वी वीडियो उत्पन्न करने के लिए एफएफएमपीईजी का उपयोग करना संभव है?
- 24. क्या यह जांचना संभव है कि ghdscript का उपयोग कर पीडीएफ पासवर्ड सुरक्षित है या नहीं?
- 25. क्या पाइथन दुभाषिया संस्करण ड्रीमपी का उपयोग करना संभव है?
- 26. iTextSharp का उपयोग कर पीडीएफ फ़ाइल से संरचनात्मक तत्व प्राप्त करना संभव है?
- 27. क्या PHP में array_shift() का उपयोग करना संभव है और कुंजी प्राप्त करना संभव है?
- 28. क्या Python से re2 का उपयोग करना संभव है?
- 29. क्या LINQPad में LINQ का उपयोग करके संग्रहीत प्रक्रिया को कॉल करना संभव है?
- 30. क्या इरादा का उपयोग करके एंड्रॉइड रिकॉर्डिंग के लिए अधिकतम समय निर्धारित करना संभव है?
हाँ, यह संभव है के साथ एक पीडीएफ उत्पन्न करने के लिए जावास्क्रिप्ट ... http: // stackoverflow।कॉम/प्रश्न/742271/जनरेटिंग-पीडीएफ-फाइल-साथ-जावास्क्रिप्ट –
@YuriKolovsky - यह सभी ब्राउज़रों में काम नहीं करता है, यह डेटा यूआरआई (और प्लगइन की आवश्यकता हो सकती है) का उपयोग कर रहा है, उपर्युक्त उत्तर अभी भी सत्य है: "जावास्क्रिप्ट बस फ़ाइल को बनाने/सहेजने के लिए कोई तंत्र नहीं है ** जो क्रॉस-ब्राउजर काम करता है ** " –
मुझे ** क्रॉस-ब्राउज़र ** –