c#,LicenseKey.LoadLicenseFile 失败,System.NullReferenceException:“未将对象引用设置为对象的实例。”

问题描述 投票:0回答:1

我正在为 C# 项目测试 Itext7,当我尝试加载许可证文件时,我收到 System.NullReferenceException: '对象引用未设置到对象的实例。' 我已经安装了 itext.licensekey、itext.licensekey.volume 和 itext.license.base。

我正在使用 30 天试用许可证,因为我仍在测试 itext。

我的代码

LicenseKey.LoadLicenseFile(@"c: emp\d521a5025706b32fe2c0d553d6e5e5eb72b3dbe708fed49e500c50670e8b1fdb.json");

        var pdf = File.ReadAllBytes(@"C:\temp\401239.pdf");

        PdfDocument pdfDoc = new PdfDocument(new PdfReader(@"C:\temp\401239.pdf"), new PdfWriter(@"C:\temp\new_401239.pdf"));
        Document document = new Document(pdfDoc);

        var documentInfo = pdfDoc.GetDocumentInfo();

        documentInfo.SetTitle("Test title");
        documentInfo.SetSubject("Subject");
        documentInfo.AddModDate();
        documentInfo.SetMoreInfo("File_Changed", "Test");


        document.Close();

        

        PdfOptimizer optimizer = new PdfOptimizer();

        optimizer.AddOptimizationHandler(new FontDuplicationOptimizer());
        optimizer.AddOptimizationHandler(new CompressionOptimizer());

        ImageQualityOptimizer jpeg_optimizer = new ImageQualityOptimizer();
        jpeg_optimizer.SetJpegProcessor(new JpegCompressor(.5f));
        optimizer.AddOptimizationHandler(jpeg_optimizer);

        optimizer.Optimize(
                new FileInfo(@"C:\temp\new_401239.pdf"),
                new FileInfo(@"C:\temp\opt_401239.pdf"));

任何帮助将不胜感激。

预计 itext7 许可证文件已加载。

itext7 licensing
1个回答
0
投票
  1. 确保许可证文件版本兼容性:使用与 iText 7 版本匹配的正确版本的 itext.licensing.base 库至关重要。对于 iText 7.2.x 及更高版本,您应该使用较新版本的许可库。
  2. 安装: 我安装了 itext.licensing.base 库版本 4.1.4,它与我当前的 iText 7 设置兼容。这是我使用的命令:
dotnet add package itext.licensing.base --version 4.1.4
  1. 加载许可证: 安装正确的库版本后,我按如下方式加载许可证文件:
LicenseKey.LoadLicenseFile(@"c:\temp\d521a5025706b32fe2c0d553d6e5e5eb72b3dbe708fed49e500c50670e8b1fdb.json");
© www.soinside.com 2019 - 2024. All rights reserved.