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);
}
}
}
?
横向分割效果:
?

?
纵向分割效果:
?

?
(本文完)