禁用itextsharp错误消息

时间:2016-02-01 13:33:19

标签: c# pdf itextsharp microstation

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

在我的第一个itextsharp命令中:

PdfReader _reader = new PdfReader("...\ab.pdf");

我收到一条消息表格itextsharp: enter image description here

“无法加载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();

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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