提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2019-05-29 09:44:17.040|阅读 1444 次
概述:Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程
Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API拥有丰富的功能,如安全设置(包括数字签名)、PDF文本/附件/图片提取、PDF文件合并/拆分、元数据更新、章节和段落优化、图形/图像描绘和插入、表格创建和处理、数据导入等等。
骑缝章常见于合同等比较重要的文件上,具有防止在文件内增减页码的作用。本文将介绍如何使用Spire.PDF给PDF格式的合同文件添加骑缝章。
原PDF文件如下:

using System.Collections.Generic;
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace PagingSeal
{
class Program
{
static void Main(string[] args)
{
//加载PDF文档
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("Input.pdf");
PdfUnitConvertor convert = new PdfUnitConvertor();
PdfPageBase pageBase = null;
//获取分割后的印章图片
Image[] images = GetImage(doc.Pages.Count);
float x = 0;
float y = 0;
//将图片画到PDF页面上的指定位置
for (int i = 0; i < doc.Pages.Count; i++)
{
pageBase = doc.Pages[i];
x = pageBase.Size.Width - convert.ConvertToPixels(images[i].Width, PdfGraphicsUnit.Point) - 40;
y = pageBase.Size.Height / 2;
pageBase.Canvas.DrawImage(PdfImage.FromImage(images[i]), new PointF(x, y));
}
//保存PDF文件
doc.SaveToFile("Output.pdf");
doc.Close();
}
//定义GetImage方法,根据PDF页数分割印章图片
static Image[] GetImage(int num)
{
List lists = new List();
Image image = Image.FromFile("SealImage.jpg");
int w = image.Width / num;
Bitmap bitmap = null;
for (int i = 0; i < num; i++)
{
bitmap = new Bitmap(w, image.Height);
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap))
{
g.Clear(Color.White);
Rectangle rect = new Rectangle(i * w, 0, w, image.Height);
g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), rect, GraphicsUnit.Pixel);
}
lists.Add(bitmap);
}
return lists.ToArray();
}
}
}添加骑缝章效果:

接下来我们来学习如何查找和高亮PDF中的文本。对于跨行的文本,在使用FindText方法查找时需要将TextFindParameter参数设置为CrossLine。
//加载PDF文档
PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\input.pdf");
//在第一页查找字符串所有出处,即使字符串是跨行显示
PdfTextFind[] findResults = doc.Pages[0].FindText("Spire.PDF for .NET还支持PDF数字签名",TextFindParameter.CrossLine).Finds;
//高亮第一个查找结果
findResults[0].ApplyHighLight(Color.Yellow);
//保存文档
doc.SaveToFile("output.pdf", FileFormat.PDF);效果图如下:

如果你有任何问题或意见,可在下方评论区留言,点击资源列表查看更多教程资源~
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dmsbdw.cn




在现代软件开发过程中,自动化单元测试是确保代码质量与可靠性的关键环节。尤其对于特定框架(如MFC)的代码,测试复杂度显著增加,常因依赖外部资源或交互操作而难以在静默环境中顺利执行。Parasoft C/C++test作为专业的软件测试工具,致力于帮助开发团队高效实施自动化测试,通过其强大的桩函数功能,能够有效模拟依赖组件的行为,从而实现对复杂逻辑的隔离测试。
本文将为大家介绍如何在MyEclipse中使用XDoclet开发EJB 2 Session Bean,欢迎下载最新版体验!
如果能将 CSV 自动转换为 PDF ,就能快速生成清晰、美观的报表,既节省手动排版时间,又能保持数据的专业呈现。本文将介绍如何使用 Spire.XLS for Java 实现这一过程——从加载 CSV 到输出高质量 PDF,仅需数行代码即可完成。
Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
相关产品
Spire.PDF for .NET是独立的PDF控件,用于.NET程序中创建、编辑和操作PDF文档
Spire.PDF for Java独立专业的Java PDF组件,覆盖PDF文档生成、处理、转换等功能。
最新文章 MORE
星空外围足球网(相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@dmsbdw.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
星空外围足球网(