这篇文章主要介绍“怎么通过C#/VB.NET调整PDF文档页边距”,在日常操作中,相信很多人在怎么通过C#/VB.NET调整PDF文档页边距问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么通过C#/VB.NET调整PDF文档页边距”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
PDF边距是页面主要内容区域和页面边缘之间的距离。与Word页边距不同,PDF文档的页边距很难更改。因为Adobe没有提供操作页边距的直接方法。但是,您可以通过缩放页面内容来改变页边距。
扩大PDF文档边距的方法是新建一个页面尺寸更大的PDF,然后在大页面的合适位置绘制源页面。以下是增加 PDF 文档边距的步骤。
初始化PdfDocument对象。
创建另一个PdfDocument对象,该对象用于创建页面尺寸更大的新PDF文档。
设置边距的增加值。
计算新PDF文档的页面大小。
循环遍历原始文档中的页面,并使用PdfPageBase.CreateTemplate() 方法基于特定页面创建模板。
使用PdfDocument.Pages.Add() 方法将页面添加到新的PDF文档中。
使用PdfTemplate.Draw() 方法在页面上的坐标(0,0)处绘制模板。
使用PdfDocument.SaveToFile()方法将新的PDF文档保存到文件中。
C#
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace IncreaseMargins { class Program { static void Main(string[] args) { //加载原始PDF文档 PdfDocument originalPdf = new PdfDocument("极昼极夜是怎么形成的.pdf"); //获取第一页 PdfPageBase firstPage = originalPdf.Pages[0]; //创建新的PdfDocument对象 PdfDocument newPdf = new PdfDocument(); //设置边距的增加值 PdfMargins margins = newPdf.PageSettings.Margins; margins.Top = 40; margins.Bottom = 40; margins.Left = 40; margins.Right = 40; //计算新页面大小 SizeF sizeF = new SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom); //循环遍历原始文档中的页面 for (int i = 0; i < originalPdf.Pages.Count; i++) { //基于特定页面创建模板 PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate(); //将页面添加到新的PDF PdfPageBase page = newPdf.Pages.Add(sizeF); //在页面上绘制模板 pdfTemplate.Draw(page, 0, 0); } //保存新文档 newPdf.SaveToFile("增加页边距.pdf", FileFormat.PDF); } } }
VB.NET
Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing Namespace IncreaseMargins Friend Class Program Private Shared Sub Main(ByVal args As String()) '加载原始PDF文档 Dim originalPdf As PdfDocument = New PdfDocument("极昼极夜是怎么形成的.pdf") '获取第一页 Dim firstPage As PdfPageBase = originalPdf.Pages(0) '创建新的PdfDocument对象 Dim newPdf As PdfDocument = New PdfDocument() '设置边距的增加值 Dim margins As PdfMargins = newPdf.PageSettings.Margins margins.Top = 40 margins.Bottom = 40 margins.Left = 40 margins.Right = 40 '计算新页面大小 Dim sizeF As SizeF = New SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom) '循环遍历原始文档中的页面 For i As Integer = 0 To originalPdf.Pages.Count - 1 '基于特定页面创建模板 Dim pdfTemplate As PdfTemplate = originalPdf.Pages(i).CreateTemplate() '将页面添加到新的PDF Dim page As PdfPageBase = newPdf.Pages.Add(sizeF) '在页面上绘制模板 pdfTemplate.Draw(page, 0, 0) Next '保存新文档 newPdf.SaveToFile("增加页边距.pdf", FileFormat.PDF) End Sub End Class End Namespace
缩小PDF 边距的方法是新建一个页面尺寸较小的PDF,然后在指定坐标的小页面上绘制源页面。以下是使用 Spire.PDF for .NET 缩小 PDF 文档边距的步骤。
在初始化PdfDocument对象时加载原始PDF文档。
创建另一个PdfDocument对象,该对象用于创建页面尺寸较小的新PDF文档。
设置边距的减少值。
计算新PDF文档的页面大小。
循环遍历原始文档中的页面,并使用PdfPageBase.CreateTemplate() 方法基于特定页面创建模板。
使用PdfDocument.Pages.Add() 方法将页面添加到新的PDF文档中。
使用PdfTemplate.Draw() 方法在页面上的指定坐标处绘制模板。
使用PdfDocument.SaveToFile() 方法将新的PDF文档保存到文件中。
C#
using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; namespace DecreaseMargins { class Program { static void Main(string[] args) { //加载原始PDF文档 PdfDocument originalPdf = new PdfDocument("极昼极夜是怎么形成的.pdf"); //获取第一页 PdfPageBase firstPage = originalPdf.Pages[0]; //创建新的PdfDocument对象 PdfDocument newPdf = new PdfDocument(); //设置边距的减少值 float left = -20; float right = -20; float top = -20; float bottom = -20; //计算新页面大小 SizeF sizeF = new SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom); //循环遍历原始文档中的页面 for (int i = 0; i < originalPdf.Pages.Count; i++) { //基于特定页面创建模板 PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate(); //将页面添加到新的PDF PdfPageBase page = newPdf.Pages.Add(sizeF, new PdfMargins(0)); //在页面上绘制模板 pdfTemplate.Draw(page, left, top); } //保存新文档 newPdf.SaveToFile("缩小页边距.pdf", FileFormat.PDF); } } }
VB.NET
Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing Namespace DecreaseMargins Friend Class Program Private Shared Sub Main(ByVal args As String()) '加载原始PDF文档 Dim originalPdf As PdfDocument = New PdfDocument("极昼极夜是怎么形成的.pdf") '获取第一页 Dim firstPage As PdfPageBase = originalPdf.Pages(0) '创建新的PdfDocument对象 Dim newPdf As PdfDocument = New PdfDocument() '设置边距的减少值 Dim left As Single = -20 Dim right As Single = -20 Dim top As Single = -20 Dim bottom As Single = -20 '计算新页面大小 Dim sizeF As SizeF = New SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom) '循环遍历原始文档中的页面 For i As Integer = 0 To originalPdf.Pages.Count - 1 '基于特定页面创建模板 Dim pdfTemplate As PdfTemplate = originalPdf.Pages(i).CreateTemplate() '将页面添加到新的PDF Dim page As PdfPageBase = newPdf.Pages.Add(sizeF, New PdfMargins(0)) '在页面上绘制模板 pdfTemplate.Draw(page, left, top) Next '保存新文档 newPdf.SaveToFile("缩小页边距.pdf", FileFormat.PDF) End Sub End Class End Namespace
到此,关于“怎么通过C#/VB.NET调整PDF文档页边距”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。