Spire.PDF不仅支持将一个PDF文档拆分为多个PDF文档,同时也支持将一个PDF页面拆分为两个或多个页面。本文将介绍如何使用Spire.PDF将以下PDF的第一页进横向和纵向地拆分。
横向拆分
//加载PDF文档 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("New Zealand.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; //添加新页面到新文档 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("HorizontallySplit.pdf"); newPdf.Close(); pdf.Close();
运行代码后,原PDF文档第一页被横向拆分为2页:
纵向拆分
//加载PDF文档 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("New Zealand.pdf"); //获取第一页 PdfPageBase page = pdf.Pages[0]; //创建新PDF文档 PdfDocument newPdf = new PdfDocument(); //移除新文档的页边距 newPdf.PageSettings.Margins.All = 0; //设置新文档页面的宽度等于原文档第一页的宽度的一半,页面高度等于原文档第一页高度 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("VerticallySplit.pdf"); newPdf.Close(); pdf.Close();
运行代码后,原PDF文档第一页被纵向拆分为2页:
博主还整理了其他冰蓝产品使用教程噢,为你推荐:Spire.Doc系列教程>> Spire.XLS系列教程>>