v26.8

SignOptions クラスが再設計されました

  • 以前より使いやすくなりました。
  • OptionsWithInputAndOutput クラスから継承しています。
  • プロパティ InputsOutputsInputOutput に変更されました。入力と出力はそれぞれ 1 つだけです。
  • 出力がファイルの場合、ストリームは自動的にクローズされますが、Stream の場合は引き続き使用できるように開いたままになります。
  • メソッド AddInputAddOutput を削除しました。
  • いくつかの便利なコンストラクタを追加しました:
    • SignOptions(IData inputData, IData outputData, IData pfxData, string password)
    • SignOptions(string inputFile, string outputFile, string pfxFile, string pfxPassword)
    • SignOptions(Stream inputStream, Stream outputStream, Stream pfxStream, string pfxPassword)
  • 変更可能なプロパティを追加しました:
    • Stream Pfx
    • string PfxPassword
    • IData Input
    • IData Output

使用例:

SignOptions の使用例です。

using var pfxStream = File.OpenRead(@"path_to_your_pfx_file.pfx");
var options = new SignOptions(pfxStream, "password_of_your_pfx_file");
// 入力と出力のファイルパスを設定
options.Input = new FileData("path_to_your_pdf_file.pdf");
options.Output = new FileData("path_to_result_pdf_file.pdf");

使用例:

最も簡潔な形で PDF ファイルに署名する例です。

PdfSecurity.Sign(new SignOptions(
    "path_to_your_pdf_file.pdf",
    "path_to_result_pdf_file.pdf",
    "path_to_your_pfx_file.pfx",
    "password_of_your_pfx_file"));

使用例:

ストリームを使って PDF ドキュメントに署名する例です。

// ストリームを用意
using var pdfStreamInput = File.OpenRead(@"path_to_your_pdf_file.pdf");
using var pfxStreamInput = File.OpenRead(@"path_to_your_pfx_file.pfx");
using var pdfStreamOutput = new MemoryStream();
// 指示を設定するために SignOptions オブジェクトを作成
var options = new SignOptions(pdfStreamInput, pdfStreamOutput, pfxStreamInput, "password_of_your_pfx_file");
// 処理を実行
PdfSecurity.Sign(options);

削除されたクラス Signature

  • 以前のプラグイン実装は段階的に廃止されつつあります。このクラスの機能は PdfSecurity クラスに置き換えられました。
  • Class Signature: 削除、代わりに PdfSecurity を使用してください。

使用例:

PDF ドキュメントに署名する例です。

// 指示を設定するために SignOptions オブジェクトを作成
var options = new SignOptions(
    "path_to_your_pdf_file.pdf",
    "path_to_result_pdf_file.pdf",
    "path_to_your_pfx_file.pfx",
    "password_of_your_pfx_file");
// 処理を実行
PdfSecurity.Sign(options);

削除されたクラス FormExporter

  • 以前のプラグイン実装は段階的に廃止されつつあります。このクラスの機能は PdfExtractorPdfForm クラスに置き換えられました。
  • Class FormExporter: 削除、代わりに PdfExtractor または PdfForm を使用してください。

使用例:

PdfExtractor を使ってフォーム値を CSV ファイルにエクスポートする例です。

// 指示を設定するために ExtractFormDataToDsvOptions オブジェクトを作成
var options = new ExtractFormDataToDsvOptions(',', true);
// 入力ファイルパスを追加
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileData("path_to_result_csv_file.csv"));
// 処理を実行
PdfExtractor.Extract(options);

使用例:

PdfForm を使ってフォーム値を TSV ファイルにエクスポートし、プロパティを設定する例です。

// 指示を設定するために ExtractFormDataToDsvOptions オブジェクトを作成
var options = new ExtractFormDataToDsvOptions();
// デリミタを設定
options.Delimiter = '\t';
// 結果にフィールド名を追加
options.AddFieldName = true;
// 入力ファイルパスを追加
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileData("path_to_result_csv_file.tsv"));
// 処理を実行
PdfForm.Extract(options);

改良されたクラス FileData

  • ToString() メソッドをオーバーライドしました。

その他の修正

📄 PDF から DOC への変換

  • PDF から DOC への変換に過剰な時間がかかっていた問題を修正

🌐 PDF から HTML / HTML から PDF への変換

  • PDF から HTML への変換で透明画像が生成されていた問題を修正
  • HTML から PDF への変換でコンテンツが重なって表示されていた問題を修正
  • HTML から PDF への変換でテーブル幅が無視されていた問題を修正

🖼️ PDF から PNG / TIFF への変換

  • PDF から PNG への変換でメモリ使用量が過剰になる問題を修正
  • PDF から PNG への変換で埋め込みフォントが保持されていなかった問題を修正
  • PDF から TIFF への変換で例外がスローされていた問題を修正

📑 PDF から PDF/A への変換

  • PDF から PDF/A への変換で文書の色が失われていた問題を修正
  • PDF から PDF/A への変換で出力結果のテキストが重なっていた問題を修正
  • Validate() メソッドが誤った結果を返していた問題を修正
  • PDF/A の検証で不正確な結果が出ていた問題を修正

📂 その他の操作

  • PDF 署名の検証時に System.FormatException がスローされていた問題を修正
  • 文書の結合時に例外がスローされていた問題を修正
2026/08/13
 日本語