2016-02-01 4 views
0

Я разрабатываю Bentley Microstation Addin с использованием C# .NET 3.5. Этот Addin использует itextsharp для создания PDF-файла.Отключить сообщение об ошибке itextsharp

В первой команде itextsharp в моем случае:

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

я получить форму сообщения itextsharp: enter image description here

«The itextsharp.LicenseKey не может быть загружен Причина: Ассамблея не непросроченный или не может быть загружен «Assembly.LoadForm» «

После того, как я подтвердил это сообщение, программа работает нормально, и нет ошибки в формате pdf. Сообщение могло бы быть exeption ?!

Если я запустил часть создания 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

У вас есть лицензионный ключ для iTextSharp? Вы [обращались к iText] (http://itextpdf.com/contact)? –

+0

Нет, я пытаюсь использовать версию AGPL. – Hendrik

+2

Пожалуйста, покажите нам сайт, на котором мы можем найти полный код, доступный под AGPL. –

ответ

5

Вам нужен LicenseKey DLL, которая доступна здесь: http://developers.itextpdf.com/license-key-download

Затем необходимо вставить следующий вызов перед тем любой другой метод IText называет:

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

Обратите внимание, что вы говорите «я попробуйте использовать версию AGPL ». Однако единственный раз, когда появится это сообщение об ошибке, - это когда вы используете XFA Worker. Работник XFA не существует в версии AGPL. Если вы хотите использовать XFA Worker, требуется коммерческая лицензия.

+0

Просто ссылаясь на dll licensekey без добавления какого-либо LicenseFile, удаляет сообщение об ошибке. Могу ли я использовать это решение или мне нужна лицензия на использование этой DLL? - Как я уже упоминал выше, ошибка появляется только тогда, когда я использую код внутри Bentley Microstation Addin. – Hendrik