iText 7试用许可证

时间:2017-12-16 08:30:47

标签: c# .net pdf itext7 xfa

我想尝试使用试用许可证的iText7 PDF Flattening。 当调用Flatten方法时,它会抛出异常"找不到方法: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;

1 个答案:

答案 0 :(得分:3)

这样的错误消息
  

找不到方法: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。您可能希望最终使用这些版本。