禁用itextsharp错误消息

Hen*_*rik 0 c# pdf itextsharp microstation

我使用C#.NET 3.5开发了Bentley Microstation Addin.此Addin使用itextsharp来创建PDF文件.

在我的情况下,在第一个itextsharp命令:

PdfReader _reader = new PdfReader("...\ab.pdf");
Run Code Online (Sandbox Code Playgroud)

我收到一条消息表格itextsharp: 在此输入图像描述

"无法加载itextsharp.LicenseKey!原因:程序集不是vaild或无法通过'Assembly.LoadForm'加载"

在我确认此消息后,程序运行正常,并且pdf没有错误.消息可能是一个例子?!

如果我将PDF创建部分作为独立的exe运行,则没有任何消息.

我正在寻找解决方案来禁用或捕获此错误.

edit1:这是我的代码的iText部分:

using iTextSharp.text.pdf;
...
PdfReader _reader = new PdfReader("D:\Test\Source.pdf");
PdfStamper _stamper = new PdfStamper(_reader, new FileStream("D:\Test\Destination.pdf", FileMode.Create));

AcroFields _fields = _stamper.AcroFields;
var _fieldKeys = _fields.Fields.Keys;

foreach (string _fieldKey in _fieldKeys)
{
    string _value = "";
    if (_DataMapping.ContainsKey(_fieldKey.Split('.').Last().Replace("[0]", "")))
        _value = _DataMapping[_fieldKey.Split('.').Last().Replace("[0]", "")];
    _fields.SetField(_fieldKey, _value);
}

_stamper.Close();
_reader.Close();
Run Code Online (Sandbox Code Playgroud)

_DataMapping是一个包含字段/值映射的字典.

小智 5

您需要licensekey dll,可在此处获取:http://developers.itextpdf.com/license-key-download

然后,您需要任何其他iText方法调用之前插入以下调用:

LicenseKey.LoadLicenseFile(“path/to/itextkey.xml”)
Run Code Online (Sandbox Code Playgroud)

请注意,您提到"我尝试使用AGPL版本." 但是,此错误消息显示的唯一时间是您使用XFA Worker时.AGPL版本中不存在XFA Worker.如果要使用XFA Worker,则需要商业许可证.