【教程】Spire.PDF教程:如何查找和高亮跨行文本并添加骑缝章

翻译|使用教程|编辑:李显亮|2019-05-29 09:44:17.040|阅读 392 次

概述:Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程


下载Spire.PDF最新试用版


Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API拥有丰富的功能,如安全设置(包括数字签名)、PDF文本/附件/图片提取、PDF文件合并/拆分、元数据更新、章节和段落优化、图形/图像描绘和插入、表格创建和处理、数据导入等等。

C# PDF 添加骑缝章


骑缝章常见于合同等比较重要的文件上,具有防止在文件内增减页码的作用。本文将介绍如何使用Spire.PDF给PDF格式的合同文件添加骑缝章。


原PDF文件如下:


Add-paging-seal-to-PDF-1.png


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();
        }
    }
}


添加骑缝章效果:


Add-paging-seal-to-PDF-2.png

C# PDF 查找和高亮跨行文本


接下来我们来学习如何查找和高亮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);


效果图如下:


Find-and-Highlight-Text-in-PDF-in-C.png


如果你有任何问题或意见,可在下方评论区留言,点击资源列表查看更多教程资源~




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
title
相关厂商
相关产品
Spire.PDF for .NET

专业的PDF组件,能在.NET应用中独立操作PDF文件,为工厂智能化提供灵活的PDF功能需求。

Spire.PDF for Java

独立专业的Java PDF组件,覆盖PDF文档生成、处理、转换等功能。

在线
客服
在线
QQ
咨询
电话
173-8239-2642
购物车 反馈 返回
顶部
在线客服系统
live chat