0

C# .NET 3.5 を使用して Bentley Microstation Addin を開発しています。このアドインは、itextsharp を使用して PDF ファイルを作成します。

私の場合、最初の itextsharp コマンドで:

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

itextsharp からメッセージを受け取ります。 ここに画像の説明を入力

「itextsharp.LicenseKey を読み込めませんでした!理由: アセンブリが有効でないか、'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 は、フィールド/値のマッピングを含むディクショナリです。

4

1 に答える 1

5

http://developers.itextpdf.com/license-key-downloadから入手できる licensekey dll が必要です。

次に、他の iText メソッド呼び出しのに次の呼び出しを挿入する必要があります。

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

「AGPLバージョンを使用しようとしています」と言及していることに注意してください。ただし、このエラー メッセージが表示されるのは、XFA Worker を使用している場合のみです。XFA Worker は AGPL バージョンには存在しません。XFA Worker を使用する場合は、商用ライセンスが必要です。

于 2016-02-11T17:48:06.447 に答える