spire.pdf不仅支持将一个pdf文档拆分为多个pdf文档,同时也支持将一个pdf页面拆分为两个或多个页面。本文将介绍如何使用spire.pdf将以下pdf的第一页进横向和纵向地拆分。
横向拆分
c#
//加载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();
vb.net
'加载pdf文档
dim pdf as new pdfdocument()
pdf.loadfromfile("new zealand.pdf")
'获取第一页
dim page as pdfpagebase = pdf.pages(0)
'创建新pdf文档
dim newpdf as new pdfdocument()
'移除新文档的页边距
newpdf.pagesettings.margins.all = 0
'设置新文档页面的宽度等于原文档第一页的宽度,页面高度等于原文档第一页高度的一半
newpdf.pagesettings.width = page.size.width
newpdf.pagesettings.height = page.size.height / 2
'添加新页面到新文档
dim newpage as pdfpagebase = newpdf.pages.add()
dim format as 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页:
纵向拆分
c#
//加载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();
vb.net
'加载pdf文档
dim pdf as new pdfdocument()
pdf.loadfromfile("new zealand.pdf")
'获取第一页
dim page as pdfpagebase = pdf.pages(0)
'创建新pdf文档
dim newpdf as new pdfdocument()
'移除新文档的页边距
newpdf.pagesettings.margins.all = 0
'设置新文档页面的宽度等于原文档第一页的宽度的一半,页面高度等于原文档第一页高度
newpdf.pagesettings.width = page.size.width / 2
newpdf.pagesettings.height = page.size.height
'添加新页面到新文档
dim newpage as pdfpagebase = newpdf.pages.add()
dim format as 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页: