之前我写了如何打印PDF文件,有人qq问我怎样在打印时给PDF文件添加页码,的确,给PDF文件添加页码,可以帮助我们区分纸质档的PDF文件页面的先后顺序,方便我们对它的阅读与管理。今天我就分享一下如何给PDF文件添加页码的方法,该方法照例使用的是之前使用的组件并且不需要安装Adobe软件。
代码使用:
第一步:定义一个DrawPageNumber(pdfpageCollection collection,PdfMargins margin)方法,它含有两个参数pdfpageCollection(页面)和PdfMargins(页边距),该方法的作用是在PDF页面底部的中间位置添加页码。
private static void DrawPageNumber(pdfpageCollection collection,PdfMargins margin) { foreach (pdfpageBase page in collection) { PdfBrush brush = PdfBrushes.Black; PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial",10f,FontStyle.Bold),true); PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left); int x = Convert.ToInt32(page.Canvas.ClientSize.Width / 2); int y = Convert.ToInt32(page.Canvas.ClientSize.Height-margin.Bottom); Rectangle bounds = new Rectangle(x,y,50,1)">20); pdfpageNumberField field = pdfpageNumberField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } }
第二步:加载PDF文件。
PdfDocument doc = PdfDocument(); doc.LoadFromFile(@"各种点心的做法副本.pdf ");
第三步:设置PDF页边距。
PdfUnitConvertor unitCvtr = PdfUnitConvertor(); PdfMargins margin = PdfMargins(); margin.Top = unitCvtr.ConvertUnits(2.54f,PdfGraphicsUnit.Centimeter,PdfGraphicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(3.17f调用DrawPageNumber()方法,将页码添加到对应的PDF页面。DrawPageNumber(doc.Pages,margin);
第五步:保存文件。
doc.SavetoFile(添加页码.pdf效果图:
完整代码:
using System; System.Collections.Generic; System.Linq; System.Text; Spire.Pdf; Spire.Pdf.Graphics; Spire.Pdf.Widget; System.Drawing; Spire.Pdf.AutomaticFields; namespace Add_Page_Numbers_to_Existing_PDF_Document { class Program { void Main(string[] args) { PdfDocument doc = PdfDocument(); doc.LoadFromFile(各种点心的做法副本.pdf"); PdfUnitConvertor unitCvtr = PdfUnitConvertor(); PdfMargins margin = PdfMargins(); margin.Top = unitCvtr.ConvertUnits(ottom = margin.Top; margin.Left = unitCvtr.ConvertUnits( margin.Left; DrawPageNumber(doc.Pages,margin); doc.SavetoFile( collection) { PdfBrush brush = PdfBrushes.Black; PdfTrueTypeFont font = ); PdfStringFormat format = PdfStringFormat(PdfTextAlignment.Left); ); margin.Bottom); Rectangle bounds = ); pdfpageNumberField field = pdfpageNumberField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。