2008-10-25 25 views
40

में कनवर्ट करने के लिए iText का उपयोग करना क्या किसी को पता है कि HTML पृष्ठ (url) को iText का उपयोग करके पीडीएफ में कनवर्ट करना संभव है?एचटीएमएल को पीडीएफ

अगर जवाब 'नहीं' यह ठीक भी है की तुलना के बाद से मैं इस पर काम करने की कोशिश कर मेरे समय बर्बाद कर बंद हो जाएगा और सिर्फ घटकों के एक नंबर जो मुझे पता है में से एक पर कुछ पैसे खर्च कर सकते हैं :)

आपकी प्रतिक्रियाओं के लिए अग्रिम धन्यवाद!

+5

अद्यतन जाना: iText पीडीएफ करने के लिए HTML कन्वर्ट करता है, लेकिन यह स्टाइलशीट समर्थन असमान है है। 5.0.6 को फरवरी 2011 में जारी किया गया था, और संबंधित कोड के ओवरहाल को थोड़ा दृश्य व्यवहार परिवर्तन के साथ शामिल किया गया था। अगली रिलीज को HTML-> पीडीएफ कार्यक्षमता में महत्वपूर्ण सुधार शामिल करने के लिए तैयार किया गया है। –

+1

वास्तव में जांचें: [xmlworker] (https://sourceforge.net/projects/xmlworker/) iText के अतिरिक्त, यह अधिक सीएसएस का समर्थन करता है। – Redlab

+0

अद्यतन: इस नए धागे को मिला जो वर्तमान विकल्पों को वास्तव में अच्छी तरह से सारांशित करता है http://stackoverflow.com/questions/4055838/best-commercial-html-to-pdf-c-component – Mark

उत्तर

7

मैं वेब Supergoo से एबीसीपीडीएफ का उपयोग कर समाप्त हो गया है। यह वास्तव में अच्छी तरह से काम करता है और लगभग 350 डॉलर के लिए उसने मुझे आपकी टिप्पणियों के आधार पर घंटे और घंटे बचाए हैं। धन्यवाद आपकी टिप्पणियों के लिए डैनियल और ब्रैच।

-1

जब मुझे इस वर्ष की शुरुआत में पीडीएफ रूपांतरण के लिए एचटीएमएल की आवश्यकता थी, तो मैंने पीडीएफ कनवर्टर को विनोवेटिव एचटीएमएल के परीक्षण की कोशिश की (मुझे लगता है कि विशेषज्ञ पीडीएफ भी वही उत्पाद है)। यह बहुत अच्छा काम करता है इसलिए हमने उस कंपनी में लाइसेंस खरीदा। मैं इसके बाद भी गहराई में नहीं जाता हूं।

29

मुझे लगता है कि यह आप

http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html

http://code.google.com/p/flying-saucer

फ्लाइंग तश्तरी का प्राथमिक उद्देश्य के लिए है के लिए वास्तव में क्या देख रहे थे है spec-compli प्रस्तुत करें स्विंग घटक के रूप में स्क्रीन पर चींटी एक्सएचटीएमएल और सीएसएस 2.1। यद्यपि यह मूल रूप से डेस्कटॉप अनुप्रयोगों (आईट्यून्स म्यूजिक स्टोर जैसी चीजों) में मार्कअप एम्बेड करने के लिए था, फ्लाइंग सॉसर को iText के साथ भी काम बढ़ाया गया है। इससे एक्सएचटीएमएल को पीडीएफ, साथ ही छवियों और स्क्रीन पर प्रस्तुत करना बहुत आसान हो जाता है। फ्लाइंग सॉसर के लिए जावा 1.4 या उच्चतर की आवश्यकता होती है।

+3

में परिवर्तित करने के लिए इसे आगे बढ़ाने के लिए सॉकर (xhtmlrenderer) लिंक होना चाहिए: http: // कोड .google.com/p/fly-saucer/ –

+0

क्या कोई जानता है कि जेनरेट की गई पीडीएफ फाइलों में छवि गुणवत्ता में सुधार कैसे किया जाए? – user584397

+0

@ user584397 उपयोगकर्ता एक बड़ी तस्वीर और इसे स्केल करें, छवि पीडीएफ में एम्बेडेड है। –

0

उपयोग iText के HTMLWorker

Example

+1

'HTMLWorker' को बहिष्कृत किया गया है। यह उत्तराधिकारी है, 'एक्सएमएलवर्कर', सूर्यास्त हो रहा है। कला की वर्तमान स्थिति iText 7 + पीडीएफएचटीएमएल है। I12ext pdfHTML के साथ –

1

अपने प्रश्न का उत्तर वास्तव में दो गुना है। सबसे पहले आपको यह निर्दिष्ट करने की आवश्यकता है कि आप प्रस्तुत एचटीएमएल के साथ क्या करना चाहते हैं: इसे एक नई पीडीएफ फाइल में सहेजें, या इसे किसी दूसरे प्रतिपादन संदर्भ में उपयोग करें (यानी इसे उत्पन्न करने वाले किसी अन्य दस्तावेज़ में जोड़ें)।

पूर्व अपेक्षाकृत आसानी से फ्लाइंग सॉसर ढांचे, यहां पाया जा सकता है जो का उपयोग कर पूरा किया है: https://github.com/flyingsaucerproject/flyingsaucer

बाद वास्तव में एक बहुत अधिक व्यापक समस्या आगे वर्गीकृत किया जा करने की जरूरत है। iText का उपयोग करके आप जेनरेट किए गए HTML के साथ iText तत्वों (यानी Paragraph, Phrase, Chunk और इसी तरह) को गठबंधन करने में सक्षम नहीं होंगे। आप ContentByte की addTemplate विधि का उपयोग कर और इस टेम्पलेट में HTML उत्पन्न करके इसका अपना तरीका हैक कर सकते हैं।

यदि आप दूसरी तरफ जेनरेट किए गए HTML को वॉटरमार्क, तिथियों या जैसे कुछ के साथ मुद्रित करना चाहते हैं, तो आप iText का उपयोग करके ऐसा कर सकते हैं।

तो नीचे पंक्ति: आप अन्य पीडीएफ उत्पन्न संदर्भों में प्रस्तुत एचटीएमएल को छोटा रूप से एकीकृत नहीं कर सकते हैं, लेकिन आप HTML को सीधे एक खाली पीडीएफ दस्तावेज़ में प्रस्तुत कर सकते हैं।

+0

, वास्तव में एक विधि 'रेंडर एलिमेंट्स' है जो वास्तव में आपके द्वारा दावा किया गया असंभव है। यह पैराग्राफ, टेबल इत्यादि जैसे iText तत्व ब्लॉक में HTML सिंटैक्स प्रस्तुत करता है। –

3

ऐसा करने का सबसे आसान तरीका पीडीएफएचटीएमएल का उपयोग कर रहा है। यह एक iText7 एड-ऑन है जो HTML5 (+ CSS3) को पीडीएफ वाक्यविन्यास में परिवर्तित करता है।

कोड बिल्कुल स्पष्ट है:

HtmlConverter.convertToPdf(
     "<b>This text should be written in bold.</b>",  // html to be converted 
     new PdfWriter(
      new File("C://users/mark/documents/output.pdf") // destination file 
     ) 
    ); 

अधिक जानने के लिए करने के लिए http://itextpdf.com/itext7/pdfHTML

संबंधित मुद्दे