如何使用itext pdfXfa展平带有俄语文本的xfa pdf文件

时间:2019-12-28 10:02:10

标签: c# pdf itext7 xfa

我正在尝试使用itext 7 pdfxfa试用版将动态xfa文件展平。 文件包含一些数字,俄语和英语文本。

LicenseKey.LoadLicenseFile("itextkey.xml");
XFAFlattener xfaf = new XFAFlattener();
xfaf.Flatten(new FileStream("xfaform.pdf", FileMode.Open, FileAccess.Read), new FileStream("flat.pdf", FileMode.Create, FileAccess.Write));

它可以工作,但是在flat.pdf中,我只能看到一些数字,英文文本和标点符号。 Adobe Reader允许复制源文件的所有文本。 不幸的是我无法显示原始PDF。 有没有办法用俄语文本正确展平xfa表单?

fonts from original xfa file

fonts from flattened file

1 个答案:

答案 0 :(得分:0)

如果您的XFA表单引用了可以访问但不包含某些字形的字体(例如Helvetica在您的情况下不包含俄罗斯字形),则您需要通过指定其他字体并嵌入来修复原始XFA表单可以使用带有XFA格式的原始PDF格式的字体,也可以告诉gzip使用哪些字体代替丢失的字形。这是一个示例:

XFAFlattener