java - Parsing HTML snippets and adding to PdfPTable -
यह सुनिश्चित करने के लिए कि पर्सेड HTML को आवश्यक स्टाइल से जोड़ दिया गया है और सही जगह पर मैं इसे एक पैराग्राफ में एक पीडीएफपीसीएल में जोड़कर रख दिया है। हालांकि ऐसा करने से मुझे कुछ एचटीएमएल टैग्स जैसे कि सूचियों और उद्धरणों के साथ व्यवहार करते समय मुद्दों पर चलने लगता है। नीचे मैं क्या कर रहा हूं, इसका सही उदाहरण है, एचटीएमएल सूची, उद्धरण आदि को ठीक से प्रबंधित करने के लिए मैं क्या कर सकता हूं? उदाहरण के लिए: iText ठीक से एक HTML सूची को संभालता है और उसे एक iText सूची / ListItem। मुझे उस सूची को मेरे PdfTable में जोड़ने की आवश्यकता है मैं जानता हूं कि सूची तत्व को पैराग्राफ़ में डालने से उचित स्टाइल को रद्द किया जाता है (पूरी सूची में कोई क्रमांकन नहीं होने के साथ एक पंक्ति पर होता है) और इसे प्रबंधित करने का उचित तरीका जानना चाहते हैं
PdfPTable तालिका = नया पीडीएफपीटीबल (1); table.addCell (parseHtmlToParagraph (htmlString)); Table.addCell (नया वाक्यांश ("नाम" + user.getName ()));
सार्वजनिक पैराग्राफ़ पार्स एचटीएमएलटिप पैराग्राफ (स्ट्रिंग एसआरआर) IOException फेंकता है {स्ट्रिंगरेडर बॉडी = न्यू स्ट्रिंग रीडर (स्ट्रिंग); अंतिम पैरा पैरा पैरा = नया पैराग्राफ (); XMLWorkerHelper.getInstance ()। ParseXHtml (नया एलिमेंटहैंडलर () {@Override सार्वजनिक शून्य जोड़ें (लेखनयोग्य डब्ल्यू) {यदि (उदाहरण के लिए लेखन एलेमेंट) {सूची & lt; तत्व & gt; तत्व = ((लेखनयोग्य एलेमेंट) w) .elements (); for (Element ई: तत्वों) {पैराएड (ई);}}}}, शरीर); वापसी पैरा }
उत्तर सरल है: आप सभी संरचना को फेंक रहे हैं (जैसे कि सूची समग्र मोड में सेल बनाने के बजाय पाठ मोड में सेल बनाकर।
इस तरह से अपने सेल को बनाएं:
<पूर्व> पीडीएफपीसीएल सेल = नया पीडीएफपीसीएल (); सूची के & lt; तत्व & gt; तत्व = ((लेखनयोग्य एलेमेंट) w) .elements (); के लिए (तत्व ई: तत्व) {सेल.एडएलेमेंट (ई); }
आप निहित हैं addcell ()
विधि का उपयोग करके PdfPCell
उदाहरण बनाते हैं। आप इस पद्धति के लिए पैराग्राफ
पास कर रहे हैं, लेकिन यह पैराग्राफ
को एक वाक्यांश
पर लगाया जाता है। जब आप निहितार्थ PdfPCell
को एक वाक्यांश
के साथ बनाते हैं, तो उस वाक्यांश
में मौजूद सभी सामग्री को मात्र पाठ तत्वों में डाउनग्रेड किया जाएगा