如何使用iText将包含Java的HTML转换为PDF?

如何使用iText将包含Java的HTML转换为PDF?,java,html,pdf,text-files,Java,Html,Pdf,Text Files,我想从HTML生成PDF。HTML代码,包含一些从一个POJO类检索值的Java代码。此HTML代码存储在文本文件中。我无法生成所需的PDF 如果我将这个HTML代码作为字符串传递,那么我就能够生成PDF 有没有办法通过从包含Java代码的文件中读取HTML内容来生成PDF HTML文件:OwnerDetails.text 所有者详细信息 invoiceDetails.getOwnerDetails().getOwnerName() 在上面的代码中,invoiceDetails.getOwn

我想从HTML生成PDF。HTML代码,包含一些从一个POJO类检索值的Java代码。此HTML代码存储在文本文件中。我无法生成所需的PDF

如果我将这个HTML代码作为字符串传递,那么我就能够生成PDF

有没有办法通过从包含Java代码的文件中读取HTML内容来生成PDF

HTML文件:
OwnerDetails.text


所有者详细信息
invoiceDetails.getOwnerDetails().getOwnerName()
在上面的代码中,
invoiceDetails.getOwnerDetails().getOwnerName()
没有给出值;代码按PDF格式打印

Java代码:

public void generatepdfUsingst(InvoiceDetailsEntity invoiceDetails) {
    Document document  = new Document(PageSize.A4, 5, 5, 5, 5); 

    StringBuffer st = new StringBuffer();
    st.append("<html><body> This is HMTL to PDF conversion Example<table border='2' align='center'> <tr><td>");

    try(BufferedReader br = new BufferedReader(new FileReader("E:\\OwnerDetails.text"))) {  

        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E:\\pdffile.pdf"));
        document.open();

            while((line = br.readLine())!= null) {
                st.append( line);
            }


          st.append("</td></tr></table></body></html>");

        java.io.InputStream is = new ByteArrayInputStream(st.toString().getBytes());
        XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);
        writer.close();
    } catch(Exception e) {
    }
}
public void generatedfusingst(InvoiceDetailsEntity invoiceDetails){
文档=新文档(PageSize.A4、5、5、5、5);
StringBuffer st=新的StringBuffer();
st.append(“这是HMTL到PDF的转换示例”);
try(BufferedReader br=new BufferedReader(new FileReader(“E:\\OwnerDetails.text”)){
PdfWriter writer=PdfWriter.getInstance(文档,新文件输出流(“E:\\pdffile.pdf”);
document.open();
而((line=br.readLine())!=null){
圣阿佩德(行);
}
st.追加(“”);
java.io.InputStream is=new ByteArrayInputStream(st.toString().getBytes());
XMLWorkerHelper.getInstance().parseXHtml(编写器、文档、is);
writer.close();
}捕获(例外e){
}
}

您可以将变量设置为该值,然后提取该值并打印它。你到底想实现什么?
invoiceDetails.getOwnerDetails().getOwnerName()
在我看来不像HTML中的Java代码。JSP/Servlet将具有不同的格式。可能是Javascript代码。@the_ritz i只想读取一个包含html标记和java代码的文件,以填充
所有者名称的值。在运行时,我希望通过
invoiceDetails.getOwnerDetails().getOwnerName()
code@suhas_n如果这是您的意思,则不能在代码本身中打印值。使用java字符串操作删除代码,并将其替换为值。您仍然需要从HTML中提取该值。@andreThompson我正在
generatepdfUsingst(InvoiceDetailsEntity invoiceDetails)
方法中读取该文件。因此,应该为
invoiceDetails.getOwnerDetails().getOwnerName()填充的对象中的所有者名称