pdf - 使用 itextsharp 将字体嵌入到 pdf 中

标签 pdf fonts itextsharp itext

我正在尝试使用 itextsharp 5.2.1.0 嵌入字体,但出现错误。字体是 KozGoPro-Light.otf,经过一些研究后是日文字体。我尝试了以下...

        Dim tblx1 As PdfPTable = New PdfPTable(1)
        Dim tblrightcell_margin2 As PdfPCell
        Dim bfR As iTextSharp.text.pdf.BaseFont

        **bfR = iTextSharp.text.pdf.BaseFont.CreateFont("KozGoPro-Light.otf", iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.EMBEDDED)
        fntKozgoProExtra = New Font(bfR, 18)**

        tblrightcell_margin2 = New PdfPCell(New Phrase("testing....", fntKozgoProExtra))

        tblx1.AddCell(tblrightcell_margin2)

当我尝试将字体添加到短语时,它会说对象引用未设置为对象的实例。如果我将 iTextSharp.text.pdf.BaseFont.IDENTITY_H 更改为 CP1252 或任何这些编码,它只会在 pdf 上显示不正确。有什么线索吗?

最佳答案

当您使用 IDENTITY_H 进行编码时,iTextSharp 会自动打开字体子集。不幸的是appears to still be a bug在该代码中。现在的解决方案是关闭该字体的子集化:

bfR = iTextSharp.text.pdf.BaseFont.CreateFont(FontFile, iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.EMBEDDED)
bfR.Subset = False

关于pdf - 使用 itextsharp 将字体嵌入到 pdf 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10486459/

相关文章:

r - 将ggplot2网格导出为PDF错误: 'Error in grid.Call.graphics... invalid font type'

css - @font-face 没有得到正确的字体

visual-studio-2010 - Visual Studio "find symbol results"窗口上的字体

itextsharp - 在 iTextSharp 中使用富文本值加粗

c# - 使用 itextsharp 检查 pdf 是否受密码保护

itextsharp - 使用 PDF itextSharp 可以在创建 pdf 文档时将图像放在文本之上

android ndk 使用 mupdf 库

ios - 将 UIWebView 转换为 PDF/Image 仅提供一英寸宽的输出

ruby - 如何使用 html view/partial to pdf view with wicked_pdf gem?

matlab - 如何使字体可用于 Matlab R2013a 中的 LaTeX 解释器?