我有一个包含文本字段和复选框的XHTML文件;当我试图使用ITextRenderer将我的xhtml转换为pdf时; iText正在删除表单字段(如pdf中的复选框和文本框)。
我的代码看起来
ITextRenderer renderer = new ITextRenderer ();
renderer.setDocument(new File("input.xhtml").toURI().toURL.toString());
renderer.layout();
renderer.createPDF("outputstream");
有些人可以使用iText提供示例代码片段来处理上述情况;我使用的是iText 5.1.3版本。
我的XHTML看起来像
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>FULL</title>
<style media="screen" type="text/css">
fieldset table { width:98%;border: 1px groove; margin:0 auto; }
fieldset table tr { border: 1px groove; }
fieldset table th { border: 1px groove; }
fieldset table td { border: 1px groove; }
fieldset > table [id=inspectionStatus] thead {border: 1px groove;background:#446BEC;text-align:center;}
fieldset > table [id=inspectionStatus] tr { border: 1px groove; }
fieldset > table [id=inspectionStatus] th { border: 1px groove; }
fieldset > table [id=inspectionStatus] td { border: 1px groove; }
fieldset table thead {border: 1px groove;background:#446BEC;text-align:center;}
fieldset table tbody tr th {text-align:left;background:#C6DEFF;width:28%}
fieldset table tbody tr td {text-align:center} [type=text] {margin-left:5%;} *[type=text]{width:90%;}
fieldset table tbody tr td [type=checkbox] {margin:0 auto;} *[type=checkbox]{width:90%;}
fieldset table caption {font-weight:bold;color:#0840F8;}
fieldset {width:98%;font-weight:bold;border:1px solid #446BEC;}
</style>
</head>
<body>
<fieldset id="PersonTable">
<legend>Person Information</legend>
<table id="PersonDisplay">
<thead>
<tr>
<th>Identifier</th>
<th>Name</th>
<th>Comment</th>
<th>Pass</th>
<th>Fail</th>
</tr>
</thead>
<tbody>
<tr>
<td>1234</td>
<td> William Jones</td>
<td>
<input type="text"/>
</td>
<td>
<input type="checkbox"/>
</td>
<td>
<input type="checkbox"/>
</td>
</tr>
</tbody>
</table>
</fieldset>
</body>
</html>
答案 0 :(得分:3)
最简单的方法是使用pdfHTML。 它是一个iText7插件,可将HTML5(+ CSS3)转换为pdf语法。
代码很简单:
HtmlConverter.convertToPdf(
"<b>This text should be written in bold.</b>", // html to be converted
new PdfWriter(
new File("C://users/lsamudrala/output.pdf") // destination file
)
);
要了解详情,请转到http://itextpdf.com/itext7/pdfHTML