Class PdfManager
Documentize.PdfManagerプラグインを表します。PDFドキュメントをマージ、分割、最適化、回転、サイズ変更、圧縮し、テーブルを追加し、PDFドキュメントに目次を追加するために使用されます。複数のPDFドキュメントを単一のPDFにマージすることができます。PDFドキュメントを別々のページに分割できます。PDFドキュメントを最適化、回転、サイズ変更、圧縮できます。PDFドキュメントのページを回転、サイズ変更できます。PDFドキュメントにテーブルを追加できます。PDFドキュメントに目次を追加できます。
Documentize.PdfManagerプラグインを表します。PDFドキュメントをマージ、分割、最適化、回転、サイズ変更、圧縮し、テーブルを追加し、PDFドキュメントに目次を追加するために使用されます。 複数のPDFドキュメントを単一のPDFにマージすることができます。 PDFドキュメントを別々のページに分割できます。 PDFドキュメントを最適化、回転、サイズ変更、圧縮できます。 PDFドキュメントのページを回転、サイズ変更できます。 PDFドキュメントにテーブルを追加できます。 PDFドキュメントに目次を追加できます。
public static class PdfManager継承
継承メンバー
- object.GetType(),
- object.MemberwiseClone(),
- object.ToString(),
- object.Equals(object?),
- object.Equals(object?, object?),
- object.ReferenceEquals(object?, object?),
- object.GetHashCode()
例
この例は、2つのPDFドキュメントをマージする方法を示します。
// マージオプションオブジェクトを作成して指示を設定
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ドキュメントを分割する方法を示します。
// 分割オプションオブジェクトを作成して指示を設定
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ドキュメントを最適化する方法を示します。
// 最適化オプションオブジェクトを作成して指示を設定
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ドキュメントを回転する方法を示します。
// 回転オプションオブジェクトを作成して指示を設定
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ドキュメントのサイズを変更する方法を示します。
// サイズ変更オプションオブジェクトを作成して指示を設定
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ドキュメントを圧縮する方法を示します。
// 圧縮オプションオブジェクトを作成して指示を設定
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ファイルに目次を追加する方法を示します。
// 目次オプションオブジェクトを作成して指示を設定
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ファイルに目次を追加する方法を示します。
// 目次オプションオブジェクトを作成して指示を設定
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ファイルに目次を追加してストリームとして保存する方法を示します。
// 目次オプションオブジェクトを作成して指示を設定
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);この例は、リクエストにメッセージを追加してChatGptを使用する方法を示します。
var options = new ChatGptRequestOptions();
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
options.ApiKey = "あなたのAPIキー"; // APIにアクセスするためにキーを提供する必要があります。
options.MaxTokens = 1000; // チャットの完了で生成されるトークンの最大数です。
// リクエストメッセージを追加します。
options.Messages.Add(new Message
{
Content = "あなたは役に立つアシスタントです。",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "今まで作られた最大のピザの直径はどのくらいですか?",
Role = Role.User
});
// リクエストを処理します。
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // ChatGPT APIのチャット完了オブジェクト。この例は、リクエストに1つのメッセージを追加してChatGptを使用する方法を示します。
var options = new ChatGptRequestOptions();
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf")); // 出力ファイルパスを追加します。
options.ApiKey = "あなたのAPIキー"; // APIにアクセスするためにキーを提供する必要があります。
options.MaxTokens = 1000; // チャットの完了で生成されるトークンの最大数です。
// リクエストメッセージを追加します。
// この場合、"あなたは役に立つアシスタントです。"という内容のシステムメッセージがデフォルトで追加されます。
// クエリメッセージの役割はデフォルトで"ユーザー"です。
options.Query = "地球上で記録された最低の温度は何度ですか?";
// リクエストを処理します。
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // ChatGPT APIのチャット完了オブジェクト。この例は、ファイルをメッセージソースとして追加してChatを使用する方法を示します。
var options = new ChatGptRequestOptions();
// 出力ファイルパスを設定
options.AddOutput(new FileDataSource("path_to_result_pdf_file.pdf"));
// PDFテキストソースを追加します。
// 複数のソースがある場合、各文書からのテキストが、役割"ユーザー"の別々のメッセージとしてリクエストメッセージコレクションに追加されます。
options.AddInput(new FileDataSource("TextSource.pdf"));
options.ApiKey = "あなたのAPIキー"; // APIにアクセスするためにキーを提供する必要があります。
options.MaxTokens = 1000; // チャットの完了で生成されるトークンの最大数です。
// リクエストメッセージを追加します。
// この場合、"あなたは役に立つアシスタントです。"という内容のシステムメッセージがデフォルトで追加されます。
// クエリメッセージの役割はデフォルトで"ユーザー"です。
options.Query = "提供されたテキストには何文字ありますか?";
// リクエストを処理します。
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // ChatGPT APIのチャット完了オブジェクト。メソッド
AddTable(TableOptions)
PDFドキュメントにテーブルを追加します。
public static ResultContainer AddTable(TableOptions options)パラメータ
optionsTableOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
AddTableOfContents(TocOptions)
PDFドキュメントに目次(TOC)を追加します。
public static ResultContainer AddTableOfContents(TocOptions options)パラメータ
optionsTocOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
Compress(CompressOptions)
PDFドキュメントを圧縮します。ドキュメントのサイズを減らそうとします。
public static ResultContainer Compress(CompressOptions options)パラメータ
optionsCompressOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
CreatePdfByChatGptRequestAsync(ChatGptRequestOptions)
ChatGptの返信によってPDFドキュメントを作成します。 ChatGPTに直接リクエストを送信するために使用されるか、PDFファイルソースを追加し、その返信を出力ソースに保存します。
public static Task<resultcontainer> CreatePdfByChatGptRequestAsync(ChatGptRequestOptions options)パラメータ
optionsChatGptRequestOptions: 操作の指示を含むオプションオブジェクト。
戻り値
操作の結果を含むオブジェクト。
例外
ArgumentException : オプションが設定されていない場合。
Merge(MergeOptions)
PDFドキュメントをマージします。
public static ResultContainer Merge(MergeOptions options)パラメータ
optionsMergeOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
Optimize(OptimizeOptions)
PDFドキュメントを最適化します。 ドキュメントを線形化して、次のことを行います。
- できるだけ早く最初のページを開く。
- 次のページや次のページへのリンクをできるだけ早く表示する。
- 遅いチャネルでページのデータが送信されるときに届くデータに従ってページを段階的に表示する(最も有用なデータを最初に表示する)。
- ユーザーインタラクション(たとえば、リンクをたどる)が行われることを許可します。ページ全体が受信されて表示される前に。
public static ResultContainer Optimize(OptimizeOptions options)パラメータ
optionsOptimizeOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
Resize(ResizeOptions)
PDFドキュメントのページをサイズ変更します。
public static ResultContainer Resize(ResizeOptions options)パラメータ
optionsResizeOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
Rotate(RotateOptions)
PDFドキュメントのページを回転します。
public static ResultContainer Rotate(RotateOptions options)パラメータ
optionsRotateOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
Split(SplitOptions)
PDFドキュメントをページごとに分割します。
public static ResultContainer Split(SplitOptions options)パラメータ
optionsSplitOptions: 操作の指示を含むオプションオブジェクト。
戻り値
ResultContainer : 操作の結果を含むオブジェクト。
例外
オプションが設定されていない場合。
Namespace: Documentize Assembly: Documentize.dll