单击时以 pdf 格式显示 iTextSharp 字母
iTextSharp letter show in pdf on click
用 itextsharp 填充现有的 pdf 文件字段。
一切正常,除了由于某种原因字母“ć”在文本框中不可见。
预览和打印时是这样的
但是当我点击字段时,我看到了隐藏的字母“ć”
我试过的。
字体变小
字体风格不同
这是编辑该字段的完整代码
If IIf(IsDBNull(_row("II")), 0, _row("II")) = 0 Then
pdfFormFields.SetField("II", "Prvo izvješće")
ElseIf IIf(IsDBNull(_row("II")), 0, _row("II")) = 1
pdfFormFields.SetField("II", "Ispravak")
Else
pdfFormFields.SetField("II", "Dopuna")
End If
我在这里做错了什么:(。
PDF : Entire PDF document
编辑:添加替换字体后结果如下
字段 II 具有默认外观 /Calibri 8 Tf 0 g
。 PDF 中的字体 Calibri 是使用 WinAnsiEncoding 编码定义的。此编码中不存在字母“ć”。因此,PDF 制作者有意或无意地试图阻止您输入该字母。但是,如果您提供识别该字符的替换字体,则可以根据需要填写该字段。
重现问题
using (PdfReader reader = new PdfReader(@"JOPPD.pdf"))
using (PdfStamper stamper = new PdfStamper(reader, File.Create(@"JOPPD-FilledLikeProgramerAnel.pdf")))
{
stamper.AcroFields.SetField("II", "Prvo izvješće");
}
结果
用替换字体修复它
using (PdfReader reader = new PdfReader(@"JOPPD.pdf"))
using (PdfStamper stamper = new PdfStamper(reader, File.Create(@"JOPPD-FilledLikeProgramerAnelImproved.pdf")))
{
BaseFont baseFont = BaseFont.CreateFont(@"c:\Windows\Fonts\arial.ttf", BaseFont.IDENTITY_H, true);
stamper.AcroFields.AddSubstitutionFont(baseFont);
stamper.AcroFields.SetField("II", "Prvo izvješće");
}
结果
用 itextsharp 填充现有的 pdf 文件字段。
一切正常,除了由于某种原因字母“ć”在文本框中不可见。
预览和打印时是这样的
但是当我点击字段时,我看到了隐藏的字母“ć”
我试过的。
字体变小 字体风格不同
这是编辑该字段的完整代码
If IIf(IsDBNull(_row("II")), 0, _row("II")) = 0 Then
pdfFormFields.SetField("II", "Prvo izvješće")
ElseIf IIf(IsDBNull(_row("II")), 0, _row("II")) = 1
pdfFormFields.SetField("II", "Ispravak")
Else
pdfFormFields.SetField("II", "Dopuna")
End If
我在这里做错了什么:(。
PDF : Entire PDF document
编辑:添加替换字体后结果如下
字段 II 具有默认外观 /Calibri 8 Tf 0 g
。 PDF 中的字体 Calibri 是使用 WinAnsiEncoding 编码定义的。此编码中不存在字母“ć”。因此,PDF 制作者有意或无意地试图阻止您输入该字母。但是,如果您提供识别该字符的替换字体,则可以根据需要填写该字段。
重现问题
using (PdfReader reader = new PdfReader(@"JOPPD.pdf"))
using (PdfStamper stamper = new PdfStamper(reader, File.Create(@"JOPPD-FilledLikeProgramerAnel.pdf")))
{
stamper.AcroFields.SetField("II", "Prvo izvješće");
}
结果
用替换字体修复它
using (PdfReader reader = new PdfReader(@"JOPPD.pdf"))
using (PdfStamper stamper = new PdfStamper(reader, File.Create(@"JOPPD-FilledLikeProgramerAnelImproved.pdf")))
{
BaseFont baseFont = BaseFont.CreateFont(@"c:\Windows\Fonts\arial.ttf", BaseFont.IDENTITY_H, true);
stamper.AcroFields.AddSubstitutionFont(baseFont);
stamper.AcroFields.SetField("II", "Prvo izvješće");
}
结果