Пробная лицензия iText 7
Я хотел бы попробовать iText7 PDF Flaturing с пробной лицензией. При вызове метода Flatten выдается исключение "Метод не найден: Boolean iText.Licence.LicenceKey.IsTrial()." Означает ли это, что метод Flatten нельзя использовать с пробной лицензией или я делаю какую-то ошибку? Я использую itext7 от NuGet, все компоненты в последних стабильных версиях: 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 ответ
Сообщение об ошибке типа
Метод не найден: логическое значение iText.Licence.LicenceKey.IsTrial().
обычно указывает, что используются несовместимые библиотеки. В данном случае (старый) pdfxfa v1.0.2 не ладит с (новым) licencekey v3.0.0.
Как вы в конечном итоге увидели, возвращение к v2.0.4 библиотеки itext.licencekey решает проблему.
Если вы посмотрите на Матрицу совместимости в примечаниях к выпуску iText 7.1.0, то увидите, что itext7 v7.1.0 и licencekey v3.0.0 предназначены для работы с pdfXFA v2.0.0. Возможно, вы захотите в конечном итоге использовать эти версии.