首页 文章

html到pdf使用itext xmlworker

提问于
浏览
1
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();

这是我的代码片段 . 使用我将所有数据都放在一个列中 . 我该怎么办才能进入多列 . 我猜是使用PDFptable,但是如何在这里应用它 . 请帮助 .

1 回答

  • 0

    对于Html到PDF,请使用Flying Saucer: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"/>
    

相关问题