註釋是可以添加到 PDF 文檔的附加對象。註釋在向文檔添加上下文信息等場景中很有用。由於 PDF 文件不易編輯,註釋提供了向文檔添加附加信息的選項。在本文中,您將學習如何在 C++ 中添加、更新和刪除 PDF 文件中的註釋。
- C++ API 在 PDF 中添加、更新和刪除註釋
- 在 C++ 中讀取 PDF 中的註釋
- 在 C++ 中向 PDF 添加註釋
- 在 C++ 中編輯 PDF 中的註釋
- 在 C++ 中從 PDF 中刪除註釋
- 獲得免費許可證
用於添加、更新和刪除 PDF 批註的 C++ API
Aspose.PDF for C++ 是一個 C++ 庫,允許您創建、閱讀和更新 PDF 文檔。此外,API 支持處理 PDF 文件中的註釋。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。
PM> Install-Package Aspose.PDF.Cpp
在 C++ 中向 PDF 添加註釋
以下是使用 C++ 為 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, int32t 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 中的註釋
以下是在 C++ 中讀取 PDF 文件中註釋的步驟。
- 首先,創建 PdfAnnotationEditor 類的實例。
- 使用 PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) 方法。
- 使用 PdfAnnotationEditor->ExtractAnnotations (int32t start, int32t end, System::ArrayPtrAspose::Pdf::Annotations::AnnotationType annotTypes) 方法。
- 遍歷註釋並打印其內容。
以下是使用 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());
}
在 C++ 中編輯 PDF 中的註釋
以下是在 C++ 中編輯和更新 PDF 文件中的註釋的步驟。
- 首先,創建 PdfAnnotationEditor 類的一個實例。
- 使用 PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) 方法。
- 創建 TextAnnotation 類的實例。
- 設置註釋的內容。
- 使用 PdfAnnotationEditor->ModifyAnnotations (int32t start, int32t 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");
C++ 去除 PDF 註釋
Aspose.PDF for C++ 提供了以下用於從 PDF 文件中刪除註釋的選項。
刪除特定的 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 註釋
以下是按類型從 PDF 文件中刪除註釋的步驟。
- 首先,創建 PdfAnnotationEditor 類的實例。
- 使用 PdfAnnotationEditor->BindPdf (System::SharedPtrAspose::Pdf::Document srcDoc) 方法。
- 使用 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 註釋
以下是從 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");
用於添加/更新/刪除 PDF 註釋的 C++ API - 獲取免費許可證
您可以通過申請免費的臨時許可證 來試用 Aspose.PDF for C++,而沒有評估限制。
結論
在本文中,您學習瞭如何使用 C++ 在 PDF 文件中處理註釋。具體來說,您已經了解瞭如何在 C++ 中讀取、添加、編輯和刪除 PDF 中的註釋。此外,您還學習瞭如何使用 Aspose.PDF for C++ 刪除特定註釋、按類型註釋或所有註釋。 API 提供了一系列用於處理 PDF 文件的附加功能。您可以使用 官方文檔 詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。