当前位置:   article > 正文

C# 如何将一个PDF页面分割为两页或多页_c#使用spire.pdf裁剪pdf

c#使用spire.pdf裁剪pdf

除了将PDF文档拆分为多个PDF以外,有时候我们也需要将一个PDF页面分割为2个或多个页面。这篇文章介绍如何使用C#将一个PDF页面横向和纵向地分割为2页或多页。

本文所使用PDF组件:Spire.PDF for .NET(Version 5.1.4及以上版本)

使用以下代码前,可通过以下两个地址之一下载Spire.Pdf.dll:

1. 官网下载

2. Visual Studio--》工具--》NuGet包管理器--》管理解决方案的NuGet包,在浏览中搜索Spire.PDF for .NET--》直接安装到项目

原PDF页面如下:

横向拆分

  1. using System.Drawing;
  2. using Spire.Pdf;
  3. using Spire.Pdf.Graphics;
  4. namespace SplitPDFPage
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             //加载PDF文档
  11.             PdfDocument pdf = new PdfDocument();
  12.             pdf.LoadFromFile("Sample.pdf");
  13.             //获取第一页
  14.             PdfPageBase page = pdf.Pages[0];
  15.             //创建一个新的PDF文档
  16.             PdfDocument newPdf = new PdfDocument();
  17.             //移除新建PDF文档的页边距
  18.             newPdf.PageSettings.Margins.All = 0;
  19.             //设置新建PDF文档的页面宽度等于原PDF文档第一页的页面宽度,高度等于原PDF文档第一页的页面高度的一半
  20.             newPdf.PageSettings.Width = page.Size.Width;
  21.             newPdf.PageSettings.Height = page.Size.Height / 2;
  22.             //添加一个新页面到新建PDF文档
  23.             PdfPageBase newPage = newPdf.Pages.Add();
  24.             //页面内容写满之后自动分页
  25.             PdfTextLayout format = new PdfTextLayout();
  26.             format.Break = PdfLayoutBreakType.FitPage;
  27.             format.Layout = PdfLayoutType.Paginate;
  28.             //将原PDF文档的第一页的内容画到新建PDF的页面上
  29.             page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);
  30.             //保存文档
  31.             newPdf.SaveToFile("HorizontallySplit.pdf");
  32.             //关闭
  33.             newPdf.Close();
  34.             pdf.Close();
  35.         }
  36.     }
  37. }

横向拆分为2页效果:

纵向拆分

  1. using System.Drawing;
  2. using Spire.Pdf;
  3. using Spire.Pdf.Graphics;
  4. namespace SplitPDFPage
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             //加载PDF文档
  11.             PdfDocument pdf = new PdfDocument();
  12.             pdf.LoadFromFile("Sample.pdf");
  13.             //获取第一页
  14.             PdfPageBase page = pdf.Pages[0];
  15.             //创建一个新的PDF文档
  16.             PdfDocument newPdf = new PdfDocument();
  17.             //移除新建PDF文档的页边距
  18.             newPdf.PageSettings.Margins.All = 0;
  19.             //设置新建PDF文档的页面宽度等于原PDF文档第一页的页面宽度的一半,高度等于原PDF文档第一页的页面高度
  20.             newPdf.PageSettings.Width = page.Size.Width / 2;
  21.             newPdf.PageSettings.Height = page.Size.Height;
  22.             //添加一个新页面到新建PDF文档
  23.             PdfPageBase newPage = newPdf.Pages.Add();
  24.             //页面内容写满之后自动分页
  25.             PdfTextLayout format = new PdfTextLayout();
  26.             format.Break = PdfLayoutBreakType.FitPage;
  27.             format.Layout = PdfLayoutType.Paginate;
  28.             //将原PDF文档第一页的内容画到新建PDF文档的页面上
  29.             page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);
  30.             //保存文档
  31.             newPdf.SaveToFile("VerticallySplit.pdf");
  32.             //关闭
  33.             newPdf.Close();
  34.             pdf.Close();         
  35.         }
  36.     }
  37. }

纵向拆分为2页的效果:

以上代码只将PDF页面拆分为了2页,如果需要拆分为多页,例如横向拆分为4页,将新建PDF的页面高度设置为原页面高度的1/4即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/1018945
推荐阅读
相关标签
  

闽ICP备14008679号