iText 7 试用许可证

iText 7 trial licence

我想试用带有试用许可证的 iText7 PDF Flattening。 调用 Flatten 方法时抛出异常 "Method not found: Boolean iText.Licence.LicenceKey.IsTrial()." 这是否意味着 Flatten 方法不能与试用许可证一起使用,或者我做错了什么? 我使用 NuGet 的 itext7,所有组件都在最新的稳定版本中: itext7 v7.1.0 itext7.licencekey v3.0.0 itext7.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;

类似

的错误信息

Method not found: Boolean iText.Licence.LicenceKey.IsTrial().

通常表示正在使用不兼容的库。在手头的情况下,(旧的)pdfxfa v1.0.2 与(新的)licencekey v3.0.0 相处得不好。

正如您最终看到的,回到 itext.licencekey 库的 v2.0.4 可以解决问题。

如果您查看 Release notes for iText 7.1.0 中的兼容性矩阵,您会发现 itext7 v7.1.0 和 licencekey v3.0.0 旨在与 pdfXFA v2.0.0 一起使用。您可能希望最终使用这些版本。