我有一份PDF,里面有中文、日文。在PDF中,我有一些输入字段。我想在C#.net中动态地填写这个PDF
我正在使用iTextSharp dll读取pad并成功地读取PdfStamper.AcroFields.SetField字段,但是当我要用PdfStamper.AcroFields.SetField设置值时,它会给我带来这个错误。
字体‘KozMinPro-正则’与'UniJIS-UCS2-H‘不被识别。
要读取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方法上面临错误,如
字体‘KozMinPro-正则’与'UniJIS-UCS2-H‘不被识别。
请建议我要改变什么,或者如何解决这个问题。
发布于 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的旧版本。
https://stackoverflow.com/questions/25398674
复制相似问题