C# 添加PDF注释(5种类型)
【前言】
向文档添加注释,是一种比较常用的向读者传递某些重要信息的手段。通过编程的方式来添加PDF注释,我们可以自定义注释的外观、类型及其他一些个性化的设置,这种可供选择的操作在编程中提供了更多的实用性。因此,本篇文章将介绍添加几种不同类型的PDF注释的方法。下面的示例中,借助控件总结了一些不同类型的注释的具体操作,主要包含以下几种
- 添加弹出式注释(Popup Annotation)
- 添加自由文本注释(Free Text Annotation)
- 添加链接式注释(Link Annotation)
- 添加多边形注释(Polygon Annotation)
- 添加线性注释(Line Annotation)
【工具使用】
- Spire.PDF for .NET 4.0
【代码操作】
1.弹出式注释(Popup Annotation)
C#
using Spire.Pdf;
using Spire.Pdf.General.Find;
using System.Drawing;
using Spire.Pdf.Annotations;
using Spire.Pdf.Graphics;namespace Annotation_PDF
{class Program{static void Main(string[] args){//初始化PdfDocument类实例,并加载测试文档 PdfDocument doc = new PdfDocument();doc.LoadFromFile("sample.pdf");//获取第一页PdfPageBase page = doc.Pages[0];//调用方法FindText()查找需要添加注释的字符串PdfTextFind[] results = page.FindText("IPCC").Finds;//指定注释添加的位置float x = results[0].Position.X - doc.PageSettings.Margins.Top;float y = results[0].Position.Y - doc.PageSettings.Margins.Left + results[0].Size.Height - 23;//创建弹出式注释RectangleF rect = new RectangleF(x, y, 10, 0);PdfPopupAnnotation popupAnnotation = new PdfPopupAnnotation(rect); //添加注释内容,并设置注释的图标类型和颜色 popupAnnotation.Text = "IPCC,This is a scientific and intergovernmental body under the auspices of the United Nations.";popupAnnotation.Icon = PdfPopupIcon.Help; popupAnnotation.Color = Color.DarkOliveGreen;//添加注释到文件page.AnnotationsWidget.Add(popupAnnotation);//保存并打开文档doc.SaveToFile("Annotation.pdf");System.Diagnostics.Process.Start("Annotation.pdf");}}
}
在选择注释标签类型时,有以下几种类型可供选择
注释添加效果:
2. 自由文本注释(Free Text Annotation)
C#
using Spire.Pdf;
using Spire.Pdf.Annotations;
using Spire.Pdf.Graphics;
using System.Drawing;namespace FreeTextAnnotation_pdf
{class Program{static void Main(string[] args){//创建PdfDocument类对象,加载测试文档PdfDocument doc = new PdfDocument();doc.LoadFromFile("sample.pdf");PdfPageBase page = doc.Pages[0];//初始化RectangleF类,指定注释添加的位置、注释图标大小RectangleF rect = new RectangleF(50, 500, 100, 40);PdfFreeTextAnnotation textAnnotation = new PdfFreeTextAnnotation(rect);//添加注释内容textAnnotation.Text = "This is just a sample, please refer the original article to see more!";//设置注释属性,包括字体、字号、注释边框粗细、边框颜色、填充颜色等PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 9);PdfAnnotationBorder border = new PdfAnnotationBorder(0.75f);textAnnotation.Font = font;textAnnotation.Border = border;textAnnotation.BorderColor = Color.White;textAnnotation.LineEndingStyle = PdfLineEndingStyle.Circle;textAnnotation.Color = Color.Transparent;textAnnotation.Opacity = 0.8f;//添加注释到页面page.AnnotationsWidget.Add(textAnnotation);//保存并打开文档doc.SaveToFile("FreeTextAnnotation.pdf", FileFormat.PDF);System.Diagnostics.Process.Start("FreeTextAnnotation.pdf");}}
}
添加效果
3. 链接式注释(Link Annotation)
C#
using Spire.Pdf;
using Spire.Pdf.Annotations;
using Spire.Pdf.Graphics;
using System.Drawing;namespace FreeTextAnnotation_pdf
{class Program{static void Main(string[] args){//创建PdfDocument类对象,加载测试文档PdfDocument doc = new PdfDocument();doc.LoadFromFile("sample.pdf");PdfPageBase page = doc.Pages[0];//初始化RectangleF类,指定注释添加的位置、注释图标大小RectangleF rect = new RectangleF(50, 500, 100, 40);PdfFreeTextAnnotation textAnnotation = new PdfFreeTextAnnotation(rect);//添加注释内容textAnnotation.Text = "This is just a sample, Click here to read the original file!";//设置注释属性,包括字体、字号、注释边框粗细、边框颜色、填充颜色等PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 9);PdfAnnotationBorder border = new PdfAnnotationBorder(0.75f);textAnnotation.Font = font;textAnnotation.Border = border;textAnnotation.BorderColor = Color.White;textAnnotation.LineEndingStyle = PdfLineEndingStyle.Circle;textAnnotation.Color = Color.Transparent;//添加需要链接到的文件地址,并添加链接到注释string filePath = @"C:\Users\Administrator\Desktop\original.pdf";PdfFileLinkAnnotation link = new PdfFileLinkAnnotation(rect, filePath);page.AnnotationsWidget.Add(link);//添加注释到页面page.AnnotationsWidget.Add(textAnnotation);//保存并打开文档doc.SaveToFile("LinkAnnotation.pdf", FileFormat.PDF);System.Diagnostics.Process.Start("LinkAnnotation.pdf");}}
}
添加效果:
4. 多边形注释(Polygon Annotation)
C#
using Spire.Pdf;
using Spire.Pdf.Annotations;
using System;
using System.Drawing;namespace PolygonAnnotation_PDF
{class Program{static void Main(string[] args){//创建PdfDocument类对象,加载测试文档PdfDocument pdf = new PdfDocument();pdf.LoadFromFile("sample.pdf");//获取文档第一页PdfPageBase page = pdf.Pages[0];//实例化PdfPolygonAnnotation类,指定多边形各顶点位置PdfPolygonAnnotation polygon = new PdfPolygonAnnotation(page, new PointF[] { new PointF(0, 30), new PointF(30, 15), new PointF(60, 30),new PointF(45, 50), new PointF(15, 50), new PointF(0, 30)}); //指定多边形注释的边框颜色、注释内容、作者、边框类型、修订时间等属性polygon.Color = Color.CornflowerBlue;polygon.Text = "This article is created by Mia, permit read ONLY.";polygon.Author = "Editor's Note";polygon.Subject = "polygon annotation demo";polygon.BorderEffect = PdfBorderEffect.BigCloud;polygon.ModifiedDate = DateTime.Now;//添加注释到页面page.AnnotationsWidget.Add(polygon);//保存并打开文档pdf.SaveToFile("Polygon_Annotation.pdf");System.Diagnostics.Process.Start("Polygon_Annotation.pdf");}}
}
添加效果:
5. 线性注释(Line Annotation)
C#
using Spire.Pdf;
using Spire.Pdf.Annotations;
using Spire.Pdf.Fields;
using Spire.Pdf.Graphics;
using System.Drawing;namespace LineAnnotation_PDF
{class Program{static void Main(string[] args){//实例化PdfDocument类,加载文档PdfDocument document = new PdfDocument();document.LoadFromFile("sample.pdf");PdfPageBase page = document.Pages[0];//在页面指定位置绘制Line类型注释,并添加注释的文本内容int[] linePoints = new int[] { 100,300, 180, 300 };PdfLineAnnotation lineAnnotation = new PdfLineAnnotation(linePoints, "Comment Text");//设置线条粗细、指向lineAnnotation.lineBorder.BorderStyle = PdfBorderStyle.Solid;lineAnnotation.lineBorder.BorderWidth = 1;lineAnnotation.LineIntent = PdfLineIntent.LineDimension;//设置线性注释的头、尾形状、flag类型lineAnnotation.BeginLineStyle = PdfLineEndingStyle.Circle;lineAnnotation.EndLineStyle = PdfLineEndingStyle.Diamond;lineAnnotation.Flags = PdfAnnotationFlags.Default;//设置注释颜色lineAnnotation.InnerLineColor = new PdfRGBColor(Color.Green);lineAnnotation.BackColor = new PdfRGBColor(Color.Green);lineAnnotation.LeaderLineExt = 0;lineAnnotation.LeaderLine = 0;//添加注释到页面page.AnnotationsWidget.Add(lineAnnotation);//保存并打开文档document.SaveToFile("LineAnnotation.pdf");System.Diagnostics.Process.Start("LineAnnotation.pdf");}}
}
添加效果:
以上为全部内容。如需转载,请注明出处!
感谢阅读。
转载于:https://blog.51cto.com/eiceblue/2116816
C# 添加PDF注释(5种类型)相关推荐
- python注释几种类型
python注释的几种类型: 这些问题属于基本的编程语言问题,但是我们遇到的时候一定要完整.准确的回答,给面试者留下一个好的印象 1.单行注释 是在代码前面或者要注释的内容前面加上'#',目的是明确一 ...
- 【功能】:前台上传文件(txt,xls,xlsx,csv,pdf)五种格式的文件 后台java解析文件,并且判断文件内容是否为零字节
描述:前台html上传文件到后台解析文件.文件类型有txt,xls,xlsx,csv,pdf这五种类型,并且要判断文件内容是否为空,就是有文件,但是文件内容的字节为零. 首先先配置需要maven依赖. ...
- 添加过的PDF注释可以修改吗?怎么修改PDF注释?
添加过的PDF注释可以修改吗?怎么修改PDF注释?我们在阅读PDF文件的时候经常习惯给PDF文件添加注释,可能是高亮.下划线.删除线或者是绘制一些标注或添加一下注释等等,那可能经常会出现添加了注释以后 ...
- 快速为PDF文档添加书签的3种方法
在PDF文档中添加书签是PDF阅读或PDF编辑的基本操作,有时候PDF文档的页数是相当多的,为PDF文档添加书签可以大大提高PDF阅读效率和PDF编辑速率,那么今天就为大家介绍快速为PDF文档添加书签 ...
- python语言的两种注释方法_python编程时添加中文注释的方法
python编程时添加中文注释的方法 发布时间:2020-08-24 17:09:52 来源:亿速云 阅读:77 作者:小新 这篇文章主要介绍python编程时添加中文注释的方法,文中介绍的非常详细, ...
- 几个流畅阅读与标记PDF文件的顶级 PDF 注释器
使用 PDF 注释工具改变您修改 PDF 文档的方式. PDF 注释器提供了广泛的对象集,用于对内容进行说明.PDF 注释器的目的范围从标记页面内容到添加有洞察力的功能(如表单). 您可以在评论表中添 ...
- 设计一个处理两种类型地址的地址簿程序_编译器设计-符号表-中间代码生成
编译器设计-符号表-中间代码生成 Compiler Design - Symbol Table Compiler - Intermediate Code Generation 一.Compiler D ...
- Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型
http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html 本文讲解了在 Spring 中处理 LOB 数据的原理和方法, ...
- PDF怎么编辑注释? 5 个免费好用的 PDF 注释器
成群结队的人和组织想要注释他们的 PDF 文档的原因有很多.无论哪种情况,目标是做到近乎完美并不是完美.但是,如果您没有合适的 PDF 注释器,这又是不可能的.虽然这些 PDF 注释器工具中的许多都很 ...
最新文章
- C# Sato CL4NX打印机发送SBPL指令打印表面信息、RFID芯片数据写入
- Spring Boot - 自动装配中的不可忽视的@Import
- mysql连接数thread_MySQL数据库负载很高连接数很多怎么处理
- 【VMCloud云平台】SCCM(五)创建第一个集合
- ArangoDB Foxx service 使用
- 互联生活:业务模式聚焦
- 后端的日期类型赋值前端表单_Spring Boot实践--前端字符串日期自动转换成后台date类型。...
- error processing request什么意思_从processing到Touchdesigner小教程
- php和python-php与python谁更适合web开发?为什么?
- linux关于bashrc与profile的区别(转)
- XCode: 如何添加自定义代码片段
- VSCode安装插件,使用本地下载vsix文件
- verilog符号 与或非 异或_与非门、或非门、异或门、同或门的逻辑表达式和逻辑符号怎么写...
- xdg在Linux中的用法,Linux – XDG (X Desktop Group)
- 冉宝的每日一题--8月11日
- 红与黑题解(深搜入门ing)
- Failed to load resource: the server responded with a status of 404 (Not Found) favicon.ico文件找不到
- oracle 配置不能保存,Oracle Net Manager保存网络配置提示无效条目Error writing entr
- unity沙子堆积_Unity Shader 之 简单实现沙漠干旱热浪的效果
- Playfair Crack
热门文章
- mysql md 123456_MySQL修炼之路四
- PAT 1082. 射击比赛 (20) - 乙级
- L1-013. 计算阶乘和-PAT团体程序设计天梯赛GPLT
- ps文字换行_零基础一周内熟悉使用PS基础工具【Photoshop教程二】
- python 3d重建_三维人脸重建(一)——Python读取obj文件
- Java Project项目在Linux下部署步骤及注意事项
- 宝塔Linux 8888 进不去
- MATLAB批量读取图片,剪切,存储,放大
- Intellij idea创建maven项目并配置tomcat
- 《嵌入式系统可靠性设计技术及案例解析》读书笔记(七)