【教程】Spire.PDF教程:如何查找和高亮跨行文本并添加騎縫章
更多資源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程
Spire.PDF是一個(gè)專業(yè)的PDF組件,能夠獨(dú)立地創(chuàng)建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設(shè)置(包括數(shù)字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數(shù)據(jù)更新、章節(jié)和段落優(yōu)化、圖形/圖像描繪和插入、表格創(chuàng)建和處理、數(shù)據(jù)導(dǎo)入等等。
C# PDF 添加騎縫章
騎縫章常見于合同等比較重要的文件上,具有防止在文件內(nèi)增減頁碼的作用。本文將介紹如何使用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方法,根據(jù)PDF頁數(shù)分割印章圖片 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(); } } }
添加騎縫章效果:
C# PDF 查找和高亮跨行文本
接下來我們來學(xué)習(xí)如何查找和高亮PDF中的文本。對于跨行的文本,在使用FindText方法查找時(shí)需要將TextFindParameter參數(shù)設(shè)置為CrossLine。
//加載PDF文檔 PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\input.pdf"); //在第一頁查找字符串所有出處,即使字符串是跨行顯示 PdfTextFind[] findResults = doc.Pages[0].FindText("Spire.PDF for .NET還支持PDF數(shù)字簽名",TextFindParameter.CrossLine).Finds; //高亮第一個(gè)查找結(jié)果 findResults[0].ApplyHighLight(Color.Yellow); //保存文檔 doc.SaveToFile("output.pdf", FileFormat.PDF);
效果圖如下:
如果你有任何問題或意見,可在下方評論區(qū)留言,點(diǎn)擊資源列表查看更多教程資源~