我在 Java 中使用 iText 将 HTML 转换为 PDF。
我想要一个特定的段落,其中一些单词为粗体,一些单词为粗体+下划线,作为字符串传递给 Java 代码,并使用 iText 库转换为 PDF。
我无法为此找到合适的方法。我应该怎么做?
最佳答案
如果要将 XHTML 转换为 PDF,则需要 iText + XML Worker。
您可以在此处找到许多示例:http://itextpdf.com/sandbox/xmlworker
最简单的示例如下所示:
public void createPdf(String file) throws IOException, DocumentException {
// step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file));
// step 3
document.open();
// step 4
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new FileInputStream(HTML));
// step 5
document.close();
}
请注意,在这种情况下,HTML 文件作为 FileInputStream
传递。你想传递一个 String
。这意味着您必须执行以下操作:
XMLWorkerHelper.getInstance().parseXHtml(writer, document,
new StringReader("<p>The <b>String</b> I want to render to PDF</p>"));
如果您需要图像、特殊字体等支持,沙盒中有更复杂的示例。例如this example会将 XHTML 转换为一系列 iText 对象,而不是立即将它们呈现到页面中。
关于java - 在 java eclipse 中使用 iText 在 Pdf 中打印字符串时如何使特定的子字符串加粗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24036662/