PDF 页边距是内容和页面边缘之间的空白区域。在大多数情况下,我们会设置适中或较窄的边距,以创建紧凑的外观。然而,如果我们希望在页边空白处放置公司标志或其他相关信息,我们需要将页边空白扩大一点。在本文中,您将学习如何使用 Spire.PDF for .NET 增加或缩小有 PDF 文档的页边距。
安装 Spire.PDF for .NET
首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.PDF
增加 PDF 文档的页边距
扩大 PDF 文档边距的方法是新建一个页面尺寸更大的 PDF,然后在大页面的合适位置绘制源页面。以下是使用 Spire.PDF for .NET 增加 PDF 文档边距的步骤。
- 初始化 PdfDocument 对象。
- 创建另一个 PdfDocument 对象,该对象用于创建页面尺寸更大的新 PDF 文档。
- 设置边距的增加值。
- 计算新 PDF 文档的页面大小。
- 循环遍历原始文档中的页面,并使用 PdfPageBase.CreateTemplate() 方法基于特定页面创建模板。
- 使用 PdfDocument.Pages.Add() 方法将页面添加到新的PDF文档中。
- 使用 PdfTemplate.Draw() 方法在页面上的坐标(0,0)处绘制模板。
- 使用 PdfDocument.SaveToFile() 方法将新的PDF文档保存到文件中。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace IncreaseMargins
{
class Program
{
static void Main(string[] args)
{
//加载原始PDF文档
PdfDocument originalPdf = new PdfDocument("C:\\Users\\Administrator\\Desktop\\示例文档.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);
}
}
}
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("C:\Users\Administrator\Desktop\示例文档.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 边距的方法是新建一个页面尺寸较小的 PDF,然后在指定坐标的小页面上绘制源页面。以下是使用 Spire.PDF for .NET 缩小 PDF 文档边距的步骤。
- 在初始化 PdfDocument 对象时加载原始 PDF 文档。
- 创建另一个 PdfDocument 对象,该对象用于创建页面尺寸较小的新 PDF 文档。
- 设置边距的减少值。
- 计算新 PDF 文档的页面大小。
- 循环遍历原始文档中的页面,并使用 PdfPageBase.CreateTemplate() 方法基于特定页面创建模板。
- 使用 PdfDocument.Pages.Add() 方法将页面添加到新的PDF文档中。
- 使用 PdfTemplate.Draw() 方法在页面上的指定坐标处绘制模板。
- 使用 PdfDocument.SaveToFile() 方法将新的 PDF 文档保存到文件中。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
namespace DecreaseMargins
{
class Program
{
static void Main(string[] args)
{
//加载原始PDF文档
PdfDocument originalPdf = new PdfDocument("C:\\Users\\Administrator\\Desktop\\示例文档.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);
}
}
}
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("C:\Users\Administrator\Desktop\示例文档.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
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。