当前位置:首页 > 站长资讯 > 正文内容

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

yc8882年前 (2022-07-24)站长资讯185

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何在PDF中添加该注释。

一、dll引用

步骤1:在Visual Studio中打开“解决方案资源管理器”- 鼠标右键点击“引用”-“管理NuGet包”。


C#在PDF中添加墨迹注释Ink Annotation的步骤详解

步骤2:选择“浏览”-在搜索框中输入搜索内容,选择搜索结果,点击“安装”。



C#在PDF中添加墨迹注释Ink Annotation的步骤详解

步骤3:依次点击“OK”-"接受",然后等待程序完成安装。



C#在PDF中添加墨迹注释Ink Annotation的步骤详解

或者,通过官方渠道,下载包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.PdfImports Spire.Pdf.AnnotationsImports System.Collections.GenericImports System.DrawingNamespace 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 ClassEnd Namespace

注释效果:


C#在PDF中添加墨迹注释Ink Annotation的步骤详解

到此这篇关于C# 在PDF中添加墨迹注释Ink Annotation的文章就介绍到这了


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/zhanzhang/7424.html

标签: PDF文档
分享给朋友:

“【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解” 的相关文章

【说站】Win10专业版如何激活?Win10激活工具

【说站】Win10专业版如何激活?Win10激活工具

本人用的Win10专业版一直用的好好地,今天桌面右下方就提示“激活Windows 转到设置以激活Windows”,因为一直用的是盗版Windows 10,出现这样的提示也蛮正常,没得办法,见招拆招,在...

【说站】excel筛选两列数据中的重复数据并排序

【说站】excel筛选两列数据中的重复数据并排序

如果靠人眼来一个个的对比excel的两列数据来去重的话,数据量少还能勉强对比一下,如果几千、几万条数据肯定就需要进行程式化处理,excel对于这个问题给我们提供了很方便的解决方案,这里主要用到exce...

【说站】判断服务器IP否被墙 是否被TCP阻断

【说站】判断服务器IP否被墙 是否被TCP阻断

现在国内很多购买国外主机服务器的,但往往很多主机商的机子用的人多了,国内使用者用这些服务器做啥的都有,正儿八经的做外贸其实没多大事情,但往往有些人就是不遵守法律法规,长此以往用的人多了,这些国外的主机...

【说站】WordPress网站文章ID不连续如何解决?

【说站】WordPress网站文章ID不连续如何解决?

对于WordPress网站文章ID不连续的问题困扰了我很久,今天将WordPress文章ID不连续的原因和具体解决办法做详细的说明。WordPress文章ID不连续的原因:用WordPress做网站的...

【说站】未能与站点联系来检查致命错误,因此PHP修改已被回滚解决办法

【说站】未能与站点联系来检查致命错误,因此PHP修改已被回滚解决办法

今天在小鸟云新购了一台轻量服务器,默认安装了WordPress,在修改默认主题模板文件的时候,点击“更新文件”出现以下提示:未能与站点联系来检查致命错误,因此PHP修改已被回滚。您需要采用其他方式(如...

【说站】Vultr的Without SELinux是什么意思?如何选择

【说站】Vultr的Without SELinux是什么意思?如何选择

Vultr官网上我们在进行服务器部署的时候,可以选择的操作系统有很多,包括Windows系统和主流的Linux系统CentOS、Ubuntu、Debian等,如下图所示:但当我们选择Linux系统:C...