10

我定义了一个标签映射,并得到了一个 XML 数据文件。我想使用 iText 将 XML 数据文件转换为 PDF。问题是如何在将 XML 转换为 PDF 时将字体(例如波兰字体、中文字体)嵌入到目标 PDF 中?

4

4 回答 4

9

如果您正在使用 iText 做更多的工作,您可能想要投资iText 书籍- 它包含 iText 所有功能的示例。

您在创建定义字体嵌入的字体时指定了一个参数:

BaseFont helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
Font font = new Font(helvetica, 12, Font.NORMAL);

您可以在此处找到更多与 iText 字体相关的示例:http://1t3xt.info/examples/browse/?page=toc&id=14

于 2009-12-04T12:31:55.040 回答
6

这是指示 iText 嵌入所有字体的一种非常简单的方法。在你的代码之前插入这个来加载字体:

FontFactory.defaultEmbedding = true;
于 2012-01-14T02:15:25.273 回答
6

但是,如果您没有与您使用的任何字符匹配的单一字体并且您需要多种字体,您将遇到问题。

在这种情况下,FontSelector类适合您。

我写了一篇关于这个的短文:http:
//lechlukasz.wordpress.com/2010/01/06/using-dynamic-fonts-for-international-texts-in-itext/

于 2011-01-11T09:26:41.007 回答
0

您可以尝试将其转换为嵌入了所有字体的 PDF/A。

    PdfReader reader = new PdfReader(GetTemplateBytes());
    pst = new PdfStamper(reader, Response.OutputStream);

    pst.Writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_4);
    pst.Writer.PDFXConformance = PdfWriter.PDFA1A;
于 2011-05-18T13:27:56.223 回答