【问题标题】:html to pdf using itext xmlworker使用 itext xmlworker 将 html 转换为 pdf
【发布时间】:2013-09-24 07:29:33
【问题描述】:
   Document document = new Document(PageSize.A4, ml, mr, mt, mb);
   PdfWriter writer=PdfWriter.getInstance(document, response.getOutputStream());
   String sc_na=request.getParameter("school_name");
   String name=sc_na;
   writer.setPageEvent(new HeaderAndFooter(name));
   document.open();
   XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
   //HTMLWorker htmlWorker = new HTMLWorker(document);
   Class.forName("com.mysql.jdbc.Driver");
   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/elect", "root", "root");
   Statement st=con.createStatement();
   ResultSet rs=st.executeQuery("Select * from test3");
   List arrlist = new ArrayList();
   while(rs.next()){
   String xa =rs.getString("display");
   if(xa.equals("1")){
    arrlist.add(rs.getString("question_text"));
   }
 }
 Collections.shuffle(arrlist); 
for(int i=0;i<nb;i++){
    String str = (String) arrlist.get(i);
     worker.parseXHtml(writer, document, new StringReader("<br>"));
     worker.parseXHtml(writer, document, new StringReader(str));

}
document.close();

这是我的代码的 sn-p。使用我将所有数据放在一个列中。我应该怎么做才能进入多个列。我猜一种方法是使用 PDFptable,但我该如何应用它在这里。请帮忙。

【问题讨论】:

  • HTMLWorker 已弃用,不再受支持。它已被 XMLWorker 取代。我并不是说它会解决您的问题,但您肯定更有可能获得有关最新库的帮助。
  • 我尝试使用 xmlworker 但遇到很多错误,所以决定返回 htmlworker。有什么帮助吗?

标签: pdf xml-parsing itext html-to-pdf


【解决方案1】:

HTML转PDF,使用飞碟:http://code.google.com/p/flying-saucer/

它使用 iText 2.0.8 并且尊重 CSS。它和代码一样多:

 org.w3c.dom.Document doc = . . .
 ITextRenderer renderer = new ITextRenderer();
 renderer.setDocument(doc, null);

 renderer.layout();
 renderer.createPDF(out);

确保您的 XHTML 链接到可访问的 CSS,例如

 <link rel="stylesheet" type="text/css" href="file://. . ./pdf.css" media="print"/>

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 2020-09-04
    相关资源
    最近更新 更多