class="MsoNormal">通过指定页数范围可以将一篇文档拆分为多个文档,该方法适用于对整篇文档的操作,如果需要对单独的某个页面进行拆分,即分割某一页面,可以参见以下方法示例。这里对页面的分割分两种情况:
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); } } }
?
横向分割效果:
?
?
纵向分割效果:
?
?
(本文完)