在Java中将HTML转换为PDF而不是读取Forms值

时间:2013-04-17 14:39:12

标签: java html pdf itext

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

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

<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/),但它仍然存在这个问题......

0 个答案:

没有答案