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("Name")
            .AddCell().AddParagraph("Age")
        .AddRow()
            .AddCell().AddParagraph("Bob")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Sam")
            .AddCell().AddParagraph("20")
        .AddRow()
            .AddCell().AddParagraph("Sandy")
            .AddCell().AddParagraph("26")
        .AddRow()
            .AddCell().AddParagraph("Tom")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Jim")
            .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 = "My Table of Contents";
// 見出しをデザイン
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter 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 = "My Table of Contents";
// ブックマークにリンクを生成
options.GenerateBookmarks = true;
// 見出しをデザイン
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter 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 = "My Table of Contents";
// 見出しをデザイン
options.Headings.Add(new TocHeading("Introduction", 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 = "Your API key."; // API にアクセスするためにキーを提供する必要があります。
options.MaxTokens = 1000; // チャットのコンプリーションで生成する最大トークン数を設定します。
// キャンセル用
// var cancelTokenSource = new CancellationTokenSource();
// var cToken = cancelTokenSource.Token;
// options.CancellationToken = cToken;

// リクエストメッセージを追加します。
options.Messages.Add(new Message
{
    Content = "You are a helpful assistant.",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "What is the biggest pizza diameter ever made?",
    Role = Role.User
});

// リクエストを処理します。
var result = await PdfChatGpt.ProcessAsync(options);

バグ修正

  • 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/06
 日本語