it-swarm.dev

كيفية تحويل HTML إلى PDF باستخدام iText

import Java.io.File;
import Java.io.FileOutputStream;
import Java.io.OutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

public class GeneratePDF {
    public static void main(String[] args) {
        try {

            String k = "<html><body> This is my Project </body></html>";

            OutputStream file = new FileOutputStream(new File("E:\\Test.pdf"));

            Document document = new Document();
            PdfWriter.getInstance(document, file);

            document.open();

            document.add(new Paragraph(k));

            document.close();
            file.close();

        } catch (Exception e) {

            e.printStackTrace();
        }
    }
}

هذا هو الرمز الخاص بي لتحويل HTML إلى PDF. أنا قادر على تحويله ولكن في PDF يحفظ ملف HTML بالكامل بينما أحتاج لعرض النص فقط. <html><body> This is my Project </body></html> يتم حفظه إلى PDF بينما يجب حفظه فقط This is my Project.

19
Aman Kumar

يمكنك القيام بذلك باستخدام فئة HTMLWorker (مهملة) مثل هذا:

import com.itextpdf.text.html.simpleparser.HTMLWorker;
//...
try {
    String k = "<html><body> This is my Project </body></html>";
    OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));
    Document document = new Document();
    PdfWriter.getInstance(document, file);
    document.open();
    HTMLWorker htmlWorker = new HTMLWorker(document);
    htmlWorker.parse(new StringReader(k));
    document.close();
    file.close();
} catch (Exception e) {
    e.printStackTrace();
}

أو استخدام XMLWorker ، (تنزيل من هذا الجرة ) باستخدام هذا الرمز:

import com.itextpdf.tool.xml.XMLWorkerHelper;
//...
try {
    String k = "<html><body> This is my Project </body></html>";
    OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, file);
    document.open();
    InputStream is = new ByteArrayInputStream(k.getBytes());
    XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);
    document.close();
    file.close();
} catch (Exception e) {
    e.printStackTrace();
}
46
MaVRoSCy

قد تكون هذه الروابط مفيدة للتحويل.

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

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

إذا كان مشروعًا جامعيًا ، فيمكنك حتى الذهاب إلى هذه ، http://pd4ml.com/examples.htm

تم إعطاء مثال لتحويل HTML إلى PDF

1
Jayesh