溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#在PDF中怎么添加墨跡注釋

發(fā)布時(shí)間:2022-02-17 13:48:41 來源:億速云 閱讀:168 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“C#在PDF中怎么添加墨跡注釋”,在日常操作中,相信很多人在C#在PDF中怎么添加墨跡注釋問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C#在PDF中怎么添加墨跡注釋”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

PDF中的墨跡注釋(Ink Annotation),表現(xiàn)為徒手涂鴉式的形狀;該類型的注釋,可任意指定形狀頂點(diǎn)的位置及個(gè)數(shù),通過指定的頂點(diǎn),程序?qū)⑦B接各點(diǎn)繪制成平滑的曲線。下面,通過C#程序代碼介紹如何在PDF中添加該注釋。

一、dll引用

步驟1:在Visual Studio中打開“解決方案資源管理器”- 鼠標(biāo)右鍵點(diǎn)擊“引用”-“管理NuGet包”。

C#在PDF中怎么添加墨跡注釋

步驟2:選擇“瀏覽”-在搜索框中輸入搜索內(nèi)容,選擇搜索結(jié)果,點(diǎn)擊“安裝”。

C#在PDF中怎么添加墨跡注釋

步驟3:依次點(diǎn)擊“OK”-"接受",然后等待程序完成安裝。

C#在PDF中怎么添加墨跡注釋

或者,通過官方渠道,下載包Spire.PDF for .NET到本地。解壓后,將BIN文件夾下的Spire.Pdf.dll文件引用至VS程序。

二、代碼示例

添加注釋時(shí),除了自定義各個(gè)點(diǎn)的位置及數(shù)量,也可以設(shè)置墨跡顏色、線條寬度、透明度、注釋的內(nèi)容、名稱等。下面是代碼實(shí)現(xiàn)的步驟:

  • 創(chuàng)建PdfDocument類的對(duì)象,并通過PdfDocument.LoadFromFile(String fileName)方法加載PDF文檔。

  • 通過PdfDocument.Pages[int Index]屬性獲取PDF指定頁(yè)面。

  • 創(chuàng)建類型為int的對(duì)象集合,集合元素為各墨跡頂點(diǎn)。

  • 創(chuàng)建PdfInkAnnotation類的實(shí)例。并通過該類提供的屬性設(shè)置墨跡顏色、寬度、注釋內(nèi)容等格式。

  • 調(diào)用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");
            //獲取第一頁(yè)
            PdfPageBase pdfPage = pdf.Pages[0];
            //設(shè)置墨跡坐標(biāo)點(diǎn)位置
            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頁(yè)面
            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")
            '獲取第一頁(yè)
            Dim pdfPage As PdfPageBase = pdf.Pages(0)
            '設(shè)置墨跡坐標(biāo)點(diǎn)位置
            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頁(yè)面
            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

注釋效果:

C#在PDF中怎么添加墨跡注釋

到此,關(guān)于“C#在PDF中怎么添加墨跡注釋”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

pdf
AI