1

我正在尝试使用 java 将 html 文档转换为 PDF,而我发现的唯一解决方案是使用 iText (XMLWorkerHelper)。

它有效,但我的问题是它似乎忽略了 HTML 表单值,导致它们没有显示在最终的 pdf 中。例如,如果我的 html 中有一个“名称:[用文本框写的东西]”,

<input class="layout" readonly="readonly" name="Name"
                  id="Name" value="ABCD WXYZ" size="83" maxlength="60"
                  type="text" />

只有“名称:”会出现在 pdf 中。

关于如何解决这个(愚蠢的?)问题的任何提示?当然,即使使用不同的(开源)API。

附上我的代码:

private static void createPDF (){  

    String path = "myTest.pdf";  
    PdfWriter pdfWriter = null;  

    //create a new document  
    Document document = new Document();  

    try {  

     //get Instance of the PDFWriter  
     pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(path));  

     //document header attributes  

     //open document  
     document.open();  
     InputStream is = new FileInputStream("page.html");  

     // create new input stream reader  
     InputStreamReader isr = new InputStreamReader(is);  

     //get the XMLWorkerHelper Instance  
     XMLWorkerHelper worker = XMLWorkerHelper.getInstance();  
     //convert to PDF  
     worker.parseXHtml(pdfWriter, document, isr);  

     //close the document  
     document.close();  
     //close the writer  
     pdfWriter.close();  

    } catch (Exception e) {  
        e.printStackTrace();  
    }  

   }  

正如你所看到的,没有太多要编译的东西,所以我猜问题出在工人本身,也许我忽略了一些让它工作的东西。如果我尝试在任何随机在线服务上转换 html 页面,它会完美运行。

顺便说一句,我尝试将我的 html 源代码上传到 iText 演示(http://demo.itextsupport.com/xmlworker/),但它仍然存在这个问题......

4

0 回答 0