【发布时间】:2014-08-20 07:05:00
【问题描述】:
我有一个包含中文、日文的PDF。在那个 PDF 中,我有一些输入字段。我想在 C#.net 中动态填充这个 PDF
我正在使用 iTextSharp dll 读取 pad 并成功读取 PDF 字段,但是当我要使用 PdfStamper.AcroFields.SetField 设置值时,它给了我这个错误
无法识别带有“UniJIS-UCS2-H”的字体“KozMinPro-Regular”。
要阅读 PDF 并获取字段,我使用以下代码
string pdfTemplate = @"C:\Users\admin\Desktop\test.pdf";
PdfReader pdfReader = new PdfReader(pdfTemplate);
StringBuilder sb = new StringBuilder();
foreach (DictionaryEntry de in pdfReader.AcroFields.Fields)
{
sb.Append(de.Key.ToString() + Environment.NewLine);
}
我正在成功获取所有字段。
要在 PDF 中填写数据,我正在使用此代码
string pdfTemplate = @"C:\Users\admin\Desktop\test.pdf";
string newFile = @"C:\Users\admin\Desktop\newdata_test.pdf";
PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(
newFile, FileMode.Create));
AcroFields pdfFormFields = pdfStamper.AcroFields;
// set form pdfFormFields
pdfFormFields.SetField("fill_17", "test");
我在pdfFormFields.SetField 方法上遇到错误
无法识别带有“UniJIS-UCS2-H”的字体“KozMinPro-Regular”。
请告知我必须更改的内容或如何解决此问题。
【问题讨论】:
标签: asp.net itextsharp