首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >项锐化PdfStamper.AcroFields.SetField给出错误

项锐化PdfStamper.AcroFields.SetField给出错误
EN

Stack Overflow用户
提问于 2014-08-20 07:05:00
回答 1查看 1.6K关注 0票数 0

我有一份PDF,里面有中文、日文。在PDF中,我有一些输入字段。我想在C#.net中动态地填写这个PDF

我正在使用iTextSharp dll读取pad并成功地读取PdfStamper.AcroFields.SetField字段,但是当我要用PdfStamper.AcroFields.SetField设置值时,它会给我带来这个错误。

字体‘KozMinPro-正则’与'UniJIS-UCS2-H‘不被识别。

要读取PDF并获取字段,我将使用以下代码

代码语言:javascript
复制
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中填充数据,我将使用以下代码

代码语言:javascript
复制
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方法上面临错误,如

字体‘KozMinPro-正则’与'UniJIS-UCS2-H‘不被识别。

请建议我要改变什么,或者如何解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-08-20 07:24:52

您的项目中缺少一些文件。为了使用字体‘KozMinPro-正则’和'UniJIS-UCS2-H',您需要让iTextSharp访问包含该字体信息的度量文件。这些度量文件可以与SourceForge单独下载。更具体地说,您需要iTextAsian 2.1.zip文件,该文件可以在iTextAsian all-2.1.zip中找到

请注意,这只适用于最新版本的iTextSharp (5.3.0.0或更高版本)。此iTextAsian DLL将不适用于iTextSharp的旧版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25398674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档