《如何给现有的PDF文件添加页码.docx》由会员分享,可在线阅读,更多相关《如何给现有的PDF文件添加页码.docx(5页珍藏版)》请在三一办公上搜索。
1、如何给现有的PDF文件添加页码如何给现有的PDF文件添加页码 之前我写了如何打印PDF文件,有人qq问我怎样在打印时给PDF文件添加页码,的确,给PDF文件添加页码,可以帮助我们区分纸质档的PDF文件页面的先后顺序,方便我们对它的阅读与管理。今天我就分享一下如何给PDF文件添加页码的方法,该方法照例使用的是之前使用的组件并且不需要安装Adobe软件。 代码使用: 第一步:定义一个DrawPageNumber(PdfPageCollection collection, PdfMargins margin)方法,它含有两个参数PdfPageCollection和PdfMargins,该方法的作用是
2、在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
3、 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, 20); PdfPageNumberField field = new PdfPageNumberField; field.Font = font; field.Brush
4、= brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); 复制代码 第二步:加载PDF文件。 PdfDocument doc = new PdfDocument; doc.LoadFromFile(各种点心的做法副本.pdf ); 第三步:设置PDF页边距。 复制代码 PdfUnitConvertor unitCvtr = new PdfUnitConvertor; PdfMargins margin = new PdfMargins; margin.Top = unitCvtr.
5、ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Right = margin.Left; 复制代码 第四步:调用DrawPageNumber方法,将页码添加到对应的PDF页面。 DrawPageNumber(doc.Pages, margin)
6、; 第五步:保存文件。 doc.SaveToFile(添加页码.pdf, FileFormat.PDF); 完整代码: 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Widget; using System.Drawing; using Spire.Pdf.AutomaticFields; namespace Add_Page_Numbers_
7、to_Existing_PDF_Document class Program static void Main(string args) PdfDocument doc = new PdfDocument; doc.LoadFromFile(各种点心的做法副本.pdf); PdfUnitConvertor unitCvtr = new PdfUnitConvertor; PdfMargins margin = new PdfMargins; margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGrap
8、hicsUnit.Point); margin.Bottom = margin.Top; margin.Left = unitCvtr.ConvertUnits(3.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point); margin.Right = margin.Left; DrawPageNumber(doc.Pages, margin); doc.SaveToFile(添加页码.pdf, FileFormat.PDF); private static void DrawPageNumber(PdfPageCollection co
9、llection, PdfMargins margin) foreach (PdfPageBase page in collection) PdfBrush brush = PdfBrushes.Black; PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(Arial, FontStyle.Bold), true); PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left); int x = Convert.ToInt32(page.Canvas.ClientS
10、ize.Width / 2); int y = Convert.ToInt32(page.Canvas.ClientSize.Height-margin.Bottom); Rectangle bounds = new Rectangle(x, y, 50, 20); PdfPageNumberField field = new PdfPageNumberField; field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); 10f,