微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何给现有的PDF文件添加页码

如何给现有的PDF文件添加页码

之前我写了如何打印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] 举报,一经查实,本站将立刻删除。

相关推荐