12
2020
07

sprie pdf 导出前几页

C# 将一个 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文档
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();


« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。