PDF 批註 Word 文檔

如何使用 C# .NET 向 PDF 添加註釋

在當今的數字時代,PDF 已成為共享信息、文檔和報告的流行格式。但是,對於許多用戶來說,僅僅查看 PDF 可能還不夠。有時,用戶可能希望突出顯示或向 PDF 的特定部分添加註釋以提供額外的上下文或反饋。幸運的是,有幾個免費的 PDF 註釋器可以讓用戶輕鬆添加註釋、突出顯示文本等。然而,在本文中,我們將探討如何使用 REST API 來支持 PDF 註釋,並向您展示如何為 PDF 文檔高亮、註釋和添加註釋。

用於 PDF 註釋的 REST API

Aspose.PDF Cloud 提供了一個易於使用且全面的解決方案,以編程方式向 PDF 文檔添加註釋。使用Aspose.PDF Cloud,您可以為PDF文檔添加各種類型的註釋,包括文本、圖像、圖章和各種標記註釋。您還可以修改現有註釋,例如更改位置、大小、顏色或任何其他屬性。

支持的註釋包括文本、圓形、多邊形、折線、直線、正方形、自由文本、突出顯示、下劃線、波浪形、刪除線、插入符號、墨跡、鏈接、彈出窗口、文件附件、聲音、電影、屏幕、小部件、水印、TrapNet、PrinterMark、 Redaction、Stamp、RichMedia 和 PDF3D。

現在,為了在您的項目中添加 SDK,請在 NuGet 包管理器中搜索“Aspose.PDF-Cloud”並單擊“添加包”按鈕。下一個重要步驟是通過雲儀表板註冊一個帳戶並獲取您的個人客戶憑據。請查看快速入門 指南以了解更多詳細信息。

使用 C# 向 PDF 添加註釋

讓我們看一下用於向 PDF 文檔添加註釋的 C# .NET 代碼片段。

// 如需完整示例和數據文件,請訪問 
https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet

// 從 https://dashboard.aspose.cloud/ 獲取客戶端憑證
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// 創建 PdfApi 對象
PdfApi api = new PdfApi(clientSecret, clientID);

// 創建包含 FreeTextAnnotations 的列表對象
List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>
{
new FreeTextAnnotation(
    // 指定包含 FreeTextAnnotation 的矩形區域
    // 還定義文本格式詳細信息
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))
    {
    // FreeTextAnnotation 中要顯示的內容
    Contents = "Confidential !",
    Color = new Aspose.Pdf.Cloud.Sdk.Model.Color(0, 0, 0, 0),
    Id = "id1",
    Name = "Test Free Text",                    
    Flags = new List<AnnotationFlags> {AnnotationFlags.Default},
    HorizontalAlignment = HorizontalAlignment.Center,
    Intent = FreeTextIntent.FreeTextTypeWriter,
    RichText = "Rich Text",
    Subject = "Text Box Subj",
    ZIndex = 1,
    Justification = Justification.Center,
    Title = "Title",
    PageIndex = 1                     
    }
};
var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

現在,讓我們更詳細地了解代碼片段。

PdfApi api = new PdfApi(clientSecret, clientID);

創建一個 PdfApi 類的實例,該實例將客戶端憑據作為其構造函數中的參數。

List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>

由於 API 支持同時添加一個或多個相似類型的 Annotation,因此我們需要創建一個 FreeTextAnnnotation 類型的 List 對象。

new FreeTextAnnotation(
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))

創建一個 FreeTextAnnotation 對象,我們在其中定義註釋和文本格式詳細信息的矩形區域。

Contents = "Confidential !"

這裡我們定義了 FreeTextAnnotation 的內容。

var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

調用 REST API 在雲存儲中已有的 PDF 文檔的第一頁上添加 FreeTextAnnotation。

下面給出了可以分配給上述代碼片段中使用的屬性的可能值。

  • AnnotationFlags - 支持的值可以是[Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents]
  • 旋轉 - 文本的旋轉角度。可能的值可以是“[None, on90, on180, on270]”。
  • AnnotationFlags - 一組指定註釋的各種特徵的標誌。可能的值可以是“[Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents]”。
  • FreeTextIntent - 枚舉自由文本註釋的意圖。可能的值可以是“[未定義、FreeTextCallout、FreeTextTypeWriter]”。

使用 cURL 命令向 PDF 添加自由文本註釋

使用 cURL 命令調用 Aspose.PDF Cloud API 是完成此要求的好方法。如果您熟悉命令行工具或更喜歡使用它們,那也很好。因此,使用 cURL 命令行工具,您可以發出 HTTP 請求並執行有關 PDF 文件處理的各種操作。

現在,為了使用 cURL 命令向 PDF 文檔添加註釋,首先我們需要通過使用您的 App SID 和 App Key 向令牌端點發送請求來生成身份驗證令牌。請執行以下命令生成accessToken。

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=ee170169-ca49-49a4-87b7-0e2ff815ea6e&client_secret=7f098199230fc5f2175d494d48f2077c" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

生成 accessToken 後,請執行以下命令,將 FreeTextAnnotation 添加到 PDF 文檔。然後在雲存儲上更新帶註釋的 PDF 文件。

curl -v "https://api.aspose.cloud/v3.0/pdf/{inputPDF}/pages/1/annotations/freetext" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "[  {        \"Color\": {      \"A\": 0,      \"R\": 0,      \"G\": 0,      \"B\": 0    },    \"Contents\": \"Confidential !\",    \"Modified\": \"01/05/2023 12:00:00.000 PM\",    \"Id\": \"id0\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"comment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 350,      \"URY\": 830    },    \"PageIndex\": 0,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"03/05/2023 16:00:00.000 PM\",    \"Subject\": \"Subj.\",    \"Title\": \"Main Heading\",    \"RichText\": \"Hello world...\",    \"Justification\": \"Left\",    \"Intent\": \"FreeTextTypeWriter\",    \"Rotate\": \"None\",    \"TextStyle\": {      \"FontSize\": 26,      \"Font\": \"Arial\",      \"ForegroundColor\": {        \"A\": 10,        \"R\": 10,        \"G\": 100,        \"B\": 120      },      \"BackgroundColor\": {        \"A\": 0,        \"R\": 0,        \"G\": 50,        \"B\": 80      }    }  }]"

{inputPDF} 替換為雲存儲上已有的輸入 PDF 文件的名稱,將 {accessToken} 替換為上面生成的 JWT 訪問令牌。

PDF 批註預覽

圖像:- PDF 文件中自由文本註釋的預覽。

上例中使用的PDF文檔可以從此鏈接下載。

結論

總之,向 PDF 添加註釋可以極大地增強其實用性和功能。無論您是要突出顯示重要文本、添加評論還是直接在文檔中做筆記,Aspose.PDF Cloud 都是實現這一目標的絕佳選擇。我們還了解到,Aspose.PDF Cloud SDK for .NET 和 cURL 命令為註釋 PDF 提供了強大的解決方案,使您能夠創建自定義工作流和自動化流程。因此,使用這些工具,您可以快速輕鬆地向 PDF 添加註釋,同時節省時間並提高工作效率。

有用的鏈接

相關文章

我們強烈建議瀏覽以下博客: