C# 禁用itextsharp错误消息

C# 禁用itextsharp错误消息,c#,pdf,itextsharp,microstation,C#,Pdf,Itextsharp,Microstation,我使用C#.NET 3.5开发了一个Bentley Microstation插件。此加载项使用itextsharp创建PDF文件 在我的案例中,第一个itextsharp命令: PdfReader _reader = new PdfReader("...\ab.pdf"); 我从itextsharp收到一条信息: “无法加载itextsharp.LicenseKey!原因:程序集不可用或无法由'Assembly.LoadForm'加载” 在我确认此消息后,程序运行正常,pdf没有错误。这个消

我使用C#.NET 3.5开发了一个Bentley Microstation插件。此加载项使用itextsharp创建PDF文件

在我的案例中,第一个itextsharp命令:

PdfReader _reader = new PdfReader("...\ab.pdf");
我从itextsharp收到一条信息:

“无法加载itextsharp.LicenseKey!原因:程序集不可用或无法由'Assembly.LoadForm'加载”

在我确认此消息后,程序运行正常,pdf没有错误。这个消息可能是一个例外

如果我以独立exe运行PDF创建部分,则不会显示任何消息

我正在搜索一个解决方案来禁用或捕获此错误

edit1:这是我代码的下一部分:

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();

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

您需要licensekey dll,该dll可在以下位置获得:

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

LicenseKey.LoadLicenseFile(“path/to/itextkey.xml”)

请注意,您提到“我尝试使用AGPL版本”。但是,只有在使用XFA Worker时才会显示此错误消息。XFA辅助程序在AGPL版本中不存在。如果要使用XFA Worker,则需要商业许可证。

您需要licensekey dll,该dll可在以下位置获得:

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

LicenseKey.LoadLicenseFile(“path/to/itextkey.xml”)

请注意,您提到“我尝试使用AGPL版本”。但是,只有在使用XFA Worker时才会显示此错误消息。XFA辅助程序在AGPL版本中不存在。如果您想使用XFA Worker,则需要商业许可证。

您有iTextSharp的许可证密钥吗?是吗?不,我尝试使用AGPL版本。请告诉我们在哪里可以找到AGPL下可用的完整代码。它只是测试而已。到目前为止,还没有发表任何东西-如果这是必要的,我可以这样做。此外,如果它能工作-这只是为了内部目的。我认为,该消息是由一个丢失的DLL造成的。请获取此DLL。您有iTextSharp的许可证密钥吗?是吗?不,我尝试使用AGPL版本。请告诉我们在哪里可以找到AGPL下可用的完整代码。它只是测试而已。到目前为止,还没有发表任何东西-如果这是必要的,我可以这样做。此外,如果它能工作-这只是为了内部目的。我认为,该消息是由一个丢失的DLL造成的。请尝试获取此DLL。仅引用licensekey DLL而不添加任何LicenseFile将删除错误消息。我可以使用此解决方案,还是需要许可证才能使用此dll如上所述,只有在Bentley Microstation插件中使用代码时才会出现错误。仅引用licensekey dll而不添加任何LicenseFile会删除错误消息。我可以使用此解决方案,还是需要许可证才能使用此dll如上所述,只有在我使用Bentley Microstation Addin内的代码时,才会出现错误。