C# 在PDF中新增墨跡註釋Ink Annotation
PDF中的墨跡註釋(Ink Annotation),表現為徒手塗鴉式的形狀;該型別的註釋,可任意指定形狀頂點的位置及個數,通過指定的頂點,程式將連線各點繪製成平滑的曲線。下面,通過C#程式程式碼介紹如何在PDF中新增該註釋。
一、按照如下步驟引入Spire.Pdf.dll
步驟1:在Visual Studio中開啟“解決方案資源管理器”- 滑鼠右鍵點選“引用”-“管理NuGet包”。
步驟2:選擇“瀏覽”-在搜尋框中輸入搜尋內容,選擇搜尋結果,點選“安裝”。
步驟3:依次點選“OK”-"接受",然後等待程式完成安裝。
或者,通過官方渠道,下載包Spire.PDF for .NET到本地。解壓後,將BIN資料夾下的Spire.Pdf.dll檔案引用至VS程式。
二、程式碼示例
新增註釋時,除了自定義各個點的位置及數量,也可以設定墨跡顏色、線條寬度、透明度、註釋的內容、名稱等。下面是程式碼實現的步驟:
-
建立 PdfDocument類的物件,並通過 PdfDocument.LoadFromFile(String fileName)方法載入PDF文件。
-
通過 PdfDocument.Pages[int Index]屬性獲取PDF指定頁面。
-
建立型別為int的物件集合,集合元素為各墨跡頂點。
-
建立PdfInkAnnotation類的例項。並通過該類提供的屬性設定墨跡顏色、寬度、註釋內容等格式。
-
呼叫 PdfPageBase.AnnotationsWidget屬性提供的 PdfAnnotationCollection.Add(PdfAnnotation annotation)方法新增註釋到PDF。
-
最後,通過 PdfDocument.SaveToFile(string filename, FileFormat fileFormat)方法儲存PDF文件到指定路徑。
C#
using Spire.Pdf; using Spire.Pdf.Annotations; using System.Collections.Generic; using System.Drawing; namespace InkAnnotation { class Program { static void Main(string[] args) { //載入PDF文件 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("test.pdf"); //獲取第一頁 PdfPageBase pdfPage = pdf.Pages[0]; //設定墨跡座標點位置 List<int[]> inkList = new List<int[]>(); int[] intPoints = new int[] { 370,700, 120,720, 110,760, 220,800, 270,790, 350,770, 350,670 }; inkList.Add(intPoints); //新增墨跡註釋到PDF頁面 PdfInkAnnotation inkannotation = new PdfInkAnnotation(inkList); inkannotation.Color = Color.MediumVioletRed; inkannotation.Border.Width = 6; inkannotation.Opacity = 0.5f; inkannotation.Text = "This is an ink annotation. "; inkannotation.Name = "Manager"; pdfPage.AnnotationsWidget.Add(inkannotation); //儲存文件 Pdf.SaveToFile("AddInkAnnotation.pdf",FileFormat.PDF); System.Diagnostics.Process.Start("AddInkAnnotation.pdf"); } } }
VB.NET
Imports Spire.Pdf Imports Spire.Pdf.Annotations Imports System.Collections.Generic Imports System.Drawing Namespace InkAnnotation Class Program Private Shared Sub Main(args As String()) '載入PDF文件 Dim pdf As New PdfDocument() pdf.LoadFromFile("test.pdf") '獲取第一頁 Dim pdfPage As PdfPageBase = pdf.Pages(0) '設定墨跡座標點位置 Dim inkList As New List(Of Integer())() Dim intPoints As Integer() = New Integer() {370, 700, 120, 720, 110, 760, _ 220, 800, 270, 790, 350, 770, _ 350, 670} inkList.Add(intPoints) '新增墨跡註釋到PDF頁面 Dim inkannotation As New PdfInkAnnotation(inkList) inkannotation.Color = Color.MediumVioletRed inkannotation.Border.Width = 6 inkannotation.Opacity = 0.5F inkannotation.Text = "This is an ink annotation. " inkannotation.Name = "Manager" pdfPage.AnnotationsWidget.Add(inkannotation) '儲存文件 pdf.SaveToFile("AddInkAnnotation.pdf", FileFormat.PDF) End Sub End Class End Namespace
註釋效果:
—End—
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31499788/viewspace-2855961/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java在PDF中刪除註釋Java
- Java如何在PDF新增註釋Java
- Angular在sublime編輯器中如何新增註釋???Angular
- Annotation註解
- C#/VB.NET 在PDF中新增檔案包(Portfolio)C#
- C#/VB.NET 在PDF表格中新增條形碼C#
- C# 註釋C#
- IDEA新增註釋Idea
- Java —— 註解(Annotation)Java
- Python如何新增註釋?註釋有幾種?Python
- Oracle comment新增註釋Oracle
- python如何新增註釋Python
- java-Annotation註解Java
- Java之註解(Annotation)Java
- 如何在Eclipse中如何自動新增註釋和自定義註釋風格Eclipse
- C# 在PDF文件中應用多種不同字型C#
- Java註解(Annotation)詳解Java
- KEIL——新增自己的註釋模板
- Java 在PDF中新增工具提示|ToolTipJava
- Java 在PDF中新增工具提示ToolTipJava
- Android 註解系列之Annotation(二)Android
- Java進階(一)Annotation(註解)Java
- 如何在 Acrobat Pro DC 中編輯和註釋 PDF 檔案?BAT
- VsCode 新增檔案頭部註釋和函式註釋[koroFileHeader]VSCode函式Header
- C#中PDF文件操作類C#
- C# 提取PDF中的表格C#
- MySql給表新增列和註釋MySql
- Eclipse中新增文件註釋快捷鍵Eclipse
- Java 註解 (Annotation)淺入深出Java
- Java註解(Annotation):請不要小看我!Java
- intellij IDEA建立檔案新增註釋模板IntelliJIdea
- Android Studio新建類頭部註釋和新增函式註釋模板及快捷鍵Android函式
- Laravel 資料遷移給表新增註釋Laravel
- 可新增註釋的json配置檔案---HJSONJSON
- Python 在PDF中新增條形碼、二維碼Python
- 關於Java註解(annotation)的簡單理解Java
- python中的註釋Python
- Effective Dart 文件註釋在Flutter專案中的實踐DartFlutter