v26.8
SignOptions クラスが再設計されました
- 以前より使いやすくなりました。
- OptionsWithInputAndOutput クラスから継承しています。
- プロパティ Inputs と Outputs は Input と Output に変更されました。入力と出力はそれぞれ 1 つだけです。
- 出力がファイルの場合、ストリームは自動的にクローズされますが、Stream の場合は引き続き使用できるように開いたままになります。
- メソッド AddInput、AddOutput を削除しました。
- いくつかの便利なコンストラクタを追加しました:
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 Pfxstring PfxPasswordIData InputIData 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
- 以前のプラグイン実装は段階的に廃止されつつあります。このクラスの機能は PdfExtractor と PdfForm クラスに置き換えられました。
- 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がスローされていた問題を修正 - 文書の結合時に例外がスローされていた問題を修正