我使用C#.NET 3.5开发了Bentley Microstation Addin。此Addin使用itextsharp来创建PDF文件。
在我的第一个itextsharp命令中:
PdfReader _reader = new PdfReader("...\ab.pdf");
“无法加载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是一个包含字段/值映射的字典。
答案 0 :(得分:5)
您需要许可证密钥dll,可在此处获取:http://developers.itextpdf.com/license-key-download
然后,您需要在任何其他iText方法调用之前插入以下调用:
LicenseKey.LoadLicenseFile(“path/to/itextkey.xml”)
请注意,您提及"我尝试使用AGPL版本。"但是,此错误消息显示的唯一时间是您使用XFA Worker时。 XFA工作者不存在于AGPL版本中。如果您想使用XFA Worker,则需要商业许可证。