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但是如何在这里应用它。请帮忙。
答案 0 :(得分: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"/>