我想尝试使用ITEXT7 PDF使用试用许可证。当调用平坦方法时,它会引发异常"找不到方法:boolean itext.licence.licencekey.istrial()"。这是否意味着Flatten方法不能与试用许可证一起使用,或者我犯了一些错误?我使用Nuget的Itext7,所有组件中的所有组件都在最新的稳定版本中:itext7 v7.1.0itext7.licencekey v3.0.0itext7.pdfxfa v1.0.2
我已经从.xml文件成功加载了试用许可证。
这是我的代码示例:
byte[] result;
LicenseKey.LoadLicenseFile(_path.MapPath("~/itextkey?????????????.xml"));
XFAFlattenerProperties flattenerProperties = new XFAFlattenerProperties()
.SetPdfVersion(XFAFlattenerProperties.PDF_1_7)
.CreateXmpMetaData()
.SetTagged()
.SetMetaData(
new MetaData()
.SetAuthor("xxxxxxx")
.SetSubject("xxxxxx")
.SetTitle("xxxxxx"));
XFAFlattener xfaf = new XFAFlattener()
.SetFontSettings(new XFAFontSettings().SetEmbedExternalFonts(true))
.SetFlattenerProperties(flattenerProperties)
.SetViewMode(XFAFlattener.ViewMode.SCREEN);
using (var dest = new MemoryStream())
{
xfaf.Flatten(new MemoryStream(source), dest);
result = dest.ToArray();
}
return result;
找不到方法:boolean itext.licence.licencekey.istrial()。
通常表示正在使用不兼容的库。在手头的情况下,(旧的)pdfxfa v1.0.2与(新的)LICENCEKEY v3.0.0。
相处得很好如您最终所见,返回到itext.licencekey库的v2.0.4解决问题。
如果您查看ITEXT 7.1.0的发行说明中的兼容性矩阵,您会发现Itext7 v7.1.0和LicenceKey v3.0.0旨在与PDFXFA v2.0.0一起使用。您可能最终需要使用这些版本。