java - 在 java eclipse 中使用 iText 在 Pdf 中打印字符串时如何使特定的子字符串加粗?

标签 java pdf pdf-generation itextsharp itext

我在 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/

相关文章:

java - 嵌入式图像在 Flying Saucer 中的 pdf 页面之间被破坏

java - 使用 IntelliJ 制作 OrientDB 可执行 jar

java - Cassandra 和二进制文件

node.js - 从 Node 读取 pdf 并将其发送到客户端 - 空白页

javascript - 有没有办法通过 Javascript 从 HTML 生成 Google 文档?

java - JTable 到 iReport

symfony - KnpSnappyBundle - 标准错误 : "wkhtmltopdf: cannot connect to X server " stdout: ""

java - 我可以在 Junit 测试中运行 PMD 分析吗?

java - Android Studio 中的 Aviary 集成

ruby-on-rails - 我们可以在 Ruby on Rails 中将 PDF、Excel、Word 转换为图像吗?