C# 分割PDF页面

shift2you

收藏于 : 2019-06-25 18:42   被转藏 : 1   

通过指定页数范围可以将一篇文档拆分为多个文档,该方法适用于对整篇文档的操作,如果需要对单独的某个页面进行拆分,即分割某一页面,可以参见以下方法示例。这里对页面的分割分两种情况:

1. 横向分割页面

2. 纵向分割页面

 

使用工具:Spire.PDF for .NET

dll引用:

1. 通过官网。下载安装包--解压-安装。在程序中添加引用Spire.Pdf.dll,dll文件在安装路径下的bin文件夹中。

 

2. 通过Nuget官网下载。

dll添加引用后,如下图所示:

 

C#示例代码

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace SplitPage_PDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载PDF文档
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("test.pdf");

            //获取第一页
            PdfPageBase page = pdf.Pages[0];

            //创建新PDF文档
            PdfDocument newPdf = new PdfDocument();

            //移除新文档的页边距
            newPdf.PageSettings.Margins.All = 0;

            //横向拆分:设置新文档页面的宽度等于原文档第一页的宽度,页面高度等于原文档第一页高度的二分之一
            newPdf.PageSettings.Width = page.Size.Width;
            newPdf.PageSettings.Height = page.Size.Height / 2;

            //纵向拆分:设置新文档页面的高度等于原文档第一页的宽度,页面宽度等于原文档第一页高度的二分之一
            newPdf.PageSettings.Width = page.Size.Width / 2;
            newPdf.PageSettings.Height = page.Size.Height;

            //添加新页面到新文档
            PdfPageBase newPage = newPdf.Pages.Add();

            PdfTextLayout format = new PdfTextLayout();
            format.Break = PdfLayoutBreakType.FitPage;
            format.Layout = PdfLayoutType.Paginate;

            //根据原文档第一页创建模板,并将模板画到新文档的新添加页面,页面画满之后自动分页
            page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);

            //保存
            newPdf.SaveToFile("横向拆分.pdf",FileFormat.PDF);
            //newPdf.SaveToFile("纵向拆分.pdf", FileFormat.PDF);           
        }
    }
}

 

横向分割效果:

 


 

纵向分割效果:

 


 

(本文完)

 阅读文章全部内容  
点击查看
文章点评
相关文章
shift2you 关注

文章收藏:644

TA的最新收藏