注釈は、PDFドキュメントに追加できる追加のオブジェクトです。注釈は、ドキュメントにコンテキスト情報を追加するなどのシナリオで役立ちます。 PDFファイルは簡単に編集できないため、注釈はドキュメントに追加情報を追加するオプションを提供します。この記事では、C++を使用してPDFファイルの注釈を操作する方法を学習します。
- PDFファイルの注釈を操作するためのC++API
- PDFファイルの注釈を読む
- PDFファイルに注釈を追加する
- C++を使用してPDFファイルの注釈を変更する
- PDFファイルから注釈を削除する
- 無料ライセンスを取得する
PDFファイルの注釈を操作するためのC++API
Aspose.PDF for C++は、PDFドキュメントを作成、読み取り、更新できるC++ライブラリです。さらに、APIはPDFファイルの注釈の操作をサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.PDF.Cpp
PDFファイルの注釈を読む
PDFファイルの注釈を読み取る手順は次のとおりです。
- まず、PdfAnnotationEditorクラスのインスタンスを作成します。
- PdfAnnotationEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッド。
- PdfAnnotationEditor->ExtractAnnotations(int32_t start, int32_t end, System::ArrayPtr)を使用して注釈を取得しますAspose::Pdf::Annotations::AnnotationTypeannotTypes)メソッド。
- 注釈をループして、その内容を印刷します。
以下は、C++を使用してPDFファイルの注釈を読み取るためのサンプルコードです。
// PdfAnnotationEditorクラスのインスタンスを作成します
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// サンプルPDFファイルをロードします
annotationEditor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// 注釈タイプの配列を作成します
System::ArrayPtr<Aspose::Pdf::Annotations::AnnotationType> annotationTypes = System::MakeArray<Aspose::Pdf::Annotations::AnnotationType>({ Aspose::Pdf::Annotations::AnnotationType::Text, Aspose::Pdf::Annotations::AnnotationType::Highlight });
// 注釈を抽出する
System::SharedPtr<System::Collections::Generic::IList<System::SharedPtr<Aspose::Pdf::Annotations::Annotation>>> annotationList = annotationEditor->ExtractAnnotations(1, 2, annotationTypes);
// 注釈をループします
for (System::SharedPtr<Aspose::Pdf::Annotations::Annotation> annotation : annotationList)
{
// 注釈コンテンツを表示する
Console::WriteLine(annotation->get_Contents());
}
PDFファイルに注釈を追加する
以下は、PDFファイルに注釈を追加する手順です。
- まず、PdfContentEditorクラスのインスタンスを作成します。
- PdfContentEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッド。
- PdfContentEditor->CreateText(System::Drawing::Rectangle rect, System::String title, System::String contents, bool open, System::String icon, int32_t page)メソッドを使用して注釈を作成します。
- 最後に、PdfContentEditor->Save(System::String destFile)メソッドを使用してPDFを保存します。
以下は、C++を使用してPDFファイルに注釈を追加するためのサンプルコードです。
// PdfContentEditorクラスのインスタンスを作成します
auto editor = MakeObject<Facades::PdfContentEditor>();
// サンプルPDFファイルをロードします
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// 注釈を作成する
editor->CreateText(System::Drawing::Rectangle(400, 700, 100, 100), u"Title", u"Welcome to Aspose", true, u"Comment", 1);
// PDFファイルを保存
editor->Save(u"OutputDirectory\\AnnotationSample.pdf");
以下は、サンプルコードで保存されたファイルの画像です。
C++を使用してPDFファイルの注釈を変更する
以下は、PDFファイルの注釈を変更する手順です。
- まず、PdfAnnotationEditorクラスのインスタンスを作成します。
- PdfAnnotationEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッド。
- TextAnnotationクラスのインスタンスを作成します。
- 注釈の内容を設定します。
- PdfAnnotationEditor->ModifiedAnnotations(int32_t start, int32_t end, System::SharedPtrAspose::Pdf::Annotations::Annotation annotation)注釈を変更するメソッド。
- 最後に、PdfAnnotationEditor->Save(System::String destFile)メソッドを使用して更新されたPDFファイルを保存します。
以下は、C++を使用してPDFファイルの注釈を変更するためのサンプルコードです。
// サンプルPDFファイルのインスタンスを作成します
auto document = MakeObject <Aspose::Pdf::Document>(u"SourceDirectory\\AnnotationSample.pdf");
// PdfAnnotationEditorクラスのインスタンスを作成します
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// サンプルPDFドキュメントをロードします
annotationEditor->BindPdf(document);
// 注釈オブジェクトを作成する
System::SharedPtr<Aspose::Pdf::Annotations::TextAnnotation> annotation = System::MakeObject<Aspose::Pdf::Annotations::TextAnnotation>(document->get_Pages()->idx_get(1), MakeObject<Aspose::Pdf::Rectangle>(200, 400, 400, 600));
// 変更日を設定する
annotation->set_Modified(System::DateTime::get_Now());
// タイトルを設定
annotation->set_Title(u"NEW AUTHOR");
// コンテンツを設定する
annotation->set_Contents(u"NEW CONTENTS");
// 件名を設定
annotation->set_Subject(u"NEW SUBJECT");
// オープンフラグを設定する
annotation->set_Open(true);
// 注釈を変更する
annotationEditor->ModifyAnnotations(1, 1, annotation);
// ドキュメントを保存する
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
PDFファイルから注釈を削除する
Aspose.PDF for C++は、PDFファイルから注釈を削除するための次のオプションを提供します。
特定の注釈を削除する
以下は、PDFファイルから特定の注釈を削除する手順です。
- まず、PdfAnnotationEditorクラスのインスタンスを作成します。
- PdfAnnotationEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッド。
- PdfAnnotationEditor->DeleteAnnotation(System::String annotName)メソッドを使用して、名前で注釈を削除します。
- 最後に、PdfAnnotationEditor->Save(System::String destFile)メソッドを使用して更新されたPDFファイルを保存します。
以下は、C++を使用してPDFファイルから特定の注釈を削除するためのサンプルコードです。
// PdfAnnotationEditorクラスのインスタンスを作成します
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// 既存のPDFドキュメントをロードする
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// 名前による注釈の削除
annotationEditor->DeleteAnnotation(u"4df2cf36-d961-4d83-a39e-4b0069f97e0b");
// ドキュメントを保存する
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
タイプによる注釈の削除
以下は、PDFファイルからタイプ別に注釈を削除する手順です。
- まず、PdfAnnotationEditorクラスのインスタンスを作成します。
- PdfAnnotationEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッドを使用してPDFファイルをロードします。
- PdfAnnotationEditor->DeleteAnnotations(System::String annotType)メソッドを使用して、タイプ別に注釈を削除します。
- 最後に、PdfAnnotationEditor->Save(System::String destFile)メソッドを使用して更新されたPDFファイルを保存します。
以下は、C++を使用してPDFファイルからタイプ別に注釈を削除するためのサンプルコードです。
// PdfAnnotationEditorクラスのインスタンスを作成します
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// 既存のPDFドキュメントをロードする
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// テキスト注釈を削除する
annotationEditor->DeleteAnnotations(u"Text");
// ドキュメントを保存する
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
すべての注釈を削除する
以下は、PDFファイルからすべての注釈を削除する手順です。
- まず、PdfAnnotationEditorクラスのインスタンスを作成します。
- PdfAnnotationEditor->BindPdf(System::SharedPtrAspose::Pdf::Document srcDoc)メソッド。
- PdfAnnotationEditor->DeleteAnnotations()メソッドを使用してすべての注釈を削除します。
- 最後に、PdfAnnotationEditor->Save(System::String destFile)メソッドを使用して更新されたPDFファイルを保存します。
以下は、C++を使用してPDFファイルからすべての注釈を削除するためのサンプルコードです。
// PdfAnnotationEditorクラスのインスタンスを作成します
System::SharedPtr<Aspose::Pdf::Facades::PdfAnnotationEditor> annotationEditor = System::MakeObject<Aspose::Pdf::Facades::PdfAnnotationEditor>();
// 既存のPDFドキュメントをロードする
annotationEditor->BindPdf(u"SourceDirectory\\AnnotationSample.pdf");
// すべての注釈を削除する
annotationEditor->DeleteAnnotations();
// ドキュメントを保存する
annotationEditor->Save(u"OutputDirectory\\AnnotationSample_out.pdf");
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
この記事では、C++を使用してPDFファイルの注釈を操作する方法を学習しました。具体的には、PDFファイルから注釈を読み取り、追加、編集、および削除する方法を見てきました。さらに、Aspose.PDF for C++ APIを使用して、特定の注釈、タイプ別の注釈、またはすべての注釈を削除する方法を学習しました。 APIは、PDFファイルを操作するための一連の追加機能を提供します。 公式ドキュメントを使用して、APIを詳細に調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。