v25.10

新しいプラグイン PDF Extractor

  • クラス PdfExtractor: プラグインのすべての機能を含む: TextExtractor, ImageExtractor, FormExporter.
  • クラス TextExtractor: まもなく削除されます、PdfExtractorを使用してください.
  • クラス ImageExtractor: まもなく削除されます、PdfExtractorを使用してください.
  • クラス FormExporter: まもなく削除されます、PdfExtractorを使用してください.
  • クラス TextExtractorOptions: クラス ExtractTextOptionsに名前を変更しました.
  • クラス ImageExtractorOptions: クラス ExtractImagesOptionsに名前を変更しました.
  • クラス FormExportToDsvOptions: クラス ExtractFormDataToDsvOptionsに名前を変更しました.
  • 新しいプラグインアーキテクチャを参照してください.

使用例:

この例は、PDF文書のテキストコンテンツを抽出する方法を示しています。

// 指示を設定するために ExtractTextOptions オブジェクトを作成
var options = new ExtractTextOptions();
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 処理を実行
var results = PdfExtractor.ExtractText(options);
// ResultContainer オブジェクトから抽出されたテキストを取得
var textExtracted = results.ResultCollection[0].ToString();

使用例:

この例は、TextFormattingModeを使用してPDF文書のテキストコンテンツを抽出する方法を示しています。

// TextFormattingModeを設定するために ExtractTextOptions オブジェクトを作成
var options = new ExtractTextOptions(TextFormattingMode.Pure);
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 処理を実行
var results = PdfExtractor.ExtractText(options);
// ResultContainer オブジェクトから抽出されたテキストを取得
var textExtracted = results.ResultCollection[0].ToString();

使用例:

この例は、PDF文書から画像を抽出する方法を示しています。

// 指示を設定するために ExtractImagesOptions を作成
var options = new ExtractImagesOptions();
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ディレクトリパスを設定
options.AddOutput(new DirectoryDataSource("path_to_results_directory"));
// 処理を実行
var results = PdfExtractor.ExtractImages(options);
// 画像結果のパスを取得
var imageExtracted = results.ResultCollection[0].ToFile();

使用例:

この例は、フォームの値をCSVファイルにエクスポートする方法を示しています。

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

新しいプラグイン PDF Manager

  • クラス PdfManager: プラグインのすべての機能を含む: Merger, Optimizer, Splitter, TableGenerator, TocGenerator.
  • クラス Merger: まもなく削除されます.
  • クラス Optimizer: まもなく削除されます、PdfManagerを使用してください.
  • クラス Splitter: まもなく削除されます、PdfManagerを使用してください.
  • クラス TableGenerator: まもなく削除されます、PdfManagerを使用してください.
  • クラス TocGenerator: まもなく削除されます、PdfManagerを使用してください.
  • 新しいプラグインアーキテクチャを参照してください.

使用例:

この例は、2つのPDF文書をマージする方法を示しています。

// 指示を設定するために MergeOptions オブジェクトを作成
var options = new MergeOptions();
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileDataSource("path_to_your_pdf_file_2.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.Merge(options);

使用例:

この例は、PDF文書を分割する方法を示しています。

// 指示を設定するために SplitOptions オブジェクトを作成
var options = new SplitOptions();
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileDataSource("path_to_result_pdf_file_2.pdf"));
// 処理を実行
PdfManager.Split(options);

使用例:

この例は、PDF文書を最適化する方法を示しています。

// 指示を設定するために OptimizeOptions オブジェクトを作成
var options = new OptimizeOptions();
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.Optimize(options);

使用例:

この例は、PDF文書を回転させる方法を示しています。

// 指示を設定するために RotateOptions オブジェクトを作成
var options = new RotateOptions();
// 新しい回転を設定
options.Rotation = Rotation.On90;
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.Rotate(options);

使用例:

この例は、PDF文書のサイズを変更する方法を示しています。

// 指示を設定するために ResizeOptions オブジェクトを作成
var options = new ResizeOptions();
// 新しいページサイズを設定
options.PageSize = PageSize.A3;
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.Resize(options);

使用例:

この例は、PDF文書を圧縮する方法を示しています。

// 指示を設定するために CompressOptions オブジェクトを作成
var options = new CompressOptions();
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.Compress(options);

使用例:

この例は、PDFファイルにテーブルを追加する方法を示しています。

// テーブルオプションを設定
var options = new TableOptions();
options.InsertPageBefore(1)
   .AddTable()
        .AddRow()
            .AddCell().AddParagraph("名前")
            .AddCell().AddParagraph("年齢")
        .AddRow()
            .AddCell().AddParagraph("ボブ")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("サム")
            .AddCell().AddParagraph("20")
        .AddRow()
            .AddCell().AddParagraph("サンディ")
            .AddCell().AddParagraph("26")
        .AddRow()
            .AddCell().AddParagraph("トム")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("ジム")
            .AddCell().AddParagraph("27");
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_input.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_output.pdf"));
// 処理を実行
PdfManager.AddTable(options);

使用例:

この例は、PDFファイルに目次を追加する方法を示しています。

// 指示を設定するために TocOptions オブジェクトを作成
var options = new TocOptions();
// タイトルを設定
options.Title = "私の目次";
// 見出しをデザイン
options.Headings.Add(new TocHeading("はじめに", 2));
options.Headings.Add(new TocHeading("第I章", 3));
options.Headings.Add(new TocHeading("第II章", 4));
options.Headings.Add(new TocHeading("第III章", 5));
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.AddTableOfContents(options);

使用例:

この例は、ブックマークを生成しながらPDFファイルに目次を追加する方法を示しています。

// 指示を設定するために TocOptions オブジェクトを作成
var options = new TocOptions();
// タイトルを設定
options.Title = "私の目次";
// ブックマーク内にリンクを生成
options.GenerateBookmarks = true;
// 見出しをデザイン
options.Headings.Add(new TocHeading("はじめに", 2, false, 1));
options.Headings.Add(new TocHeading("第I章", 3, true, 1));
options.Headings.Add(new TocHeading("第II章", 4, true, 1));
options.Headings.Add(new TocHeading("例A", 4, true, 2));
options.Headings.Add(new TocHeading("例B", 4, true, 2));
options.Headings.Add(new TocHeading("例C", 4, true, 2));
options.Headings.Add(new TocHeading("例D", 4, true, 2));
options.Headings.Add(new TocHeading("第III章", 5, true, 1));
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// 処理を実行
PdfManager.AddTableOfContents(options);

使用例:

この例は、ストリームとして保存しながらPDFファイルに目次を追加する方法を示しています。

// 指示を設定するために TocOptions オブジェクトを作成
var options = new TocOptions();
// タイトルを設定
options.Title = "私の目次";
// 見出しをデザイン
options.Headings.Add(new TocHeading("はじめに", 2, false, 1));
// 入力ファイルパスを追加
options.AddInput(new FileDataSource("path_to_your_pdf_file.pdf"));
// 出力ストリームを設定 
var outputStream = new MemoryStream();
options.AddOutput(new StreamDataSource(outputStream));
options.CloseOutputStreams = false;
// 処理を実行
PdfManager.AddTableOfContents(options);

TableGeneratorの使いやすさの改善

  • クラス TableGenerator: 静的であり、コンストラクタの使用は必要ありません.
  • クラス TableGenerator: 廃止されました。代わりにPdfManagerを使用してください.

PdfChatGptの使いやすさの改善

  • クラス PdfChatGpt: 静的であり、コンストラクタの使用は必要ありません.
  • クラス PdfChatGptRequestOptions: プロパティ CancellationToken を追加しました (PdfChatGptから移動しました)。

使用例:

この例は、リクエストにメッセージを追加することによってPdfChatGptプラグインを使用する方法を示しています。

var options = new PdfChatGptRequestOptions();
options.AddOutput(new FileDataSource("PdfChatGPT_output.pdf")); // 出力ファイルパスを追加。
options.ApiKey = "あなたのAPIキー."; // APIにアクセスするためのキーを提供する必要があります。
options.MaxTokens = 1000; // チャット完了で生成する最大トークン数。
// キャンセル用
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;

// リクエストメッセージを追加する。
options.Messages.Add(new Message
{
    Content = "あなたは役に立つアシスタントです。",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "今まで作られた最大のピザの直径はどれくらいですか?",
    Role = Role.User
});

// リクエストの処理.
await PdfChatGpt.ProcessAsync(options);

修正されたバグ

  • PDFメタデータのhtmlからpdfへの変換を修正
  • PDFからPDF/A_3bへの変換: テキストフォーマットの問題と画像がスケーリングされる問題を修正
  • PDFからPDFA: 結果のPDFAが印刷時にエラーを報告する問題を修正
  • PDFからHTML: 結果の画像に背景が含まれる問題を修正
  • HTMLからPDF: 一部の中国語の文字がボックスとして表示される問題を修正
  • HTMLからPDF: Base64 カスタムフォントが無視される問題を修正
  • HTMLからPDF: フォームフィールドのCSSが適用されない問題を修正
  • HTMLからPDF: チャートが正しくレンダリングされない問題を修正
  • HTMLからPDF: 特殊文字がレンダリングされない問題を修正
2025/10/07
 日本語