欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > Spire.PDF for .NET【页面设置】演示:旋放大 PDF 边距而不改变页面大小

Spire.PDF for .NET【页面设置】演示:旋放大 PDF 边距而不改变页面大小

2025/9/15 21:14:35 来源:https://blog.csdn.net/m0_67129275/article/details/144215680  浏览:    关键词:Spire.PDF for .NET【页面设置】演示:旋放大 PDF 边距而不改变页面大小

PDF 页边距是正文内容和页面边缘之间的空白。与 Word 不同,PDF 文档中的页边距不易修改,因为 Adobe 不提供任何功能供用户自由操作页边距。但是,您可以更改页面缩放比例(放大/压缩内容)或裁剪页面以获得合适的页边距。在本文中,您将学习如何通过压缩内容来扩大 PDF 页边距。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载icon-default.png?t=O83Ahttps://www.evget.com/product/3377/download 

步骤 1:创建一个 PdfDocument 对象来加载原始 PDF 文档。

PdfDocument origDoc = new PdfDocument();
origDoc.LoadFromFile("sample.pdf");

第 2 步:创建另一个 PdfDocument 对象。

PdfDocument destDoc = new PdfDocument();

步骤 3:设置您想要添加到现有 PDF 文档边距的增量。

float top = 50;
float bottom = 50;
float left = 50;
float right = 50;

步骤 4:将原始文档中的压缩内容传输到新的 PDF 文档。

foreach (PdfPageBase page in origDoc.Pages)
{
PdfPageBase newPage = destDoc.Pages.Add(page.Size, new PdfMargins(0));
newPage.Canvas.ScaleTransform((page.ActualSize.Width - left - right) / page.ActualSize.Width,
(page.ActualSize.Height - top - bottom) / page.ActualSize.Height);
newPage.Canvas.DrawTemplate(page.CreateTemplate(), new PointF(left, top));
}

步骤 5:保存到文件。

destDoc.SaveToFile("result.pdf", FileFormat.PDF);

原始PDF

如何在 C#、VB.NET 中放大 PDF 边距而不改变页面大小

结果

如何在 C#、VB.NET 中放大 PDF 边距而不改变页面大小

完整代码

[C#]

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;namespace ChangeMargins
{
class Program
{
static void Main(string[] args)
{
PdfDocument origDoc = new PdfDocument();
origDoc.LoadFromFile("sample.pdf");
PdfDocument destDoc = new PdfDocument();float top = 50;
float bottom = 50;
float left = 50;
float right = 50;foreach (PdfPageBase page in origDoc.Pages)
{
PdfPageBase newPage = destDoc.Pages.Add(page.Size, new PdfMargins(0));
newPage.Canvas.ScaleTransform((page.ActualSize.Width - left - right) / page.ActualSize.Width,
(page.ActualSize.Height - top - bottom) / page.ActualSize.Height);
newPage.Canvas.DrawTemplate(page.CreateTemplate(), new PointF(left, top));
}destDoc.SaveToFile("result.pdf", FileFormat.PDF);
}
}
}
[VB.NET]
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.DrawingNamespace ChangeMargins
Class Program
Private Shared Sub Main(args As String())
Dim origDoc As New PdfDocument()
origDoc.LoadFromFile("sample.pdf")
Dim destDoc As New PdfDocument()Dim top As Single = 50
Dim bottom As Single = 50
Dim left As Single = 50
Dim right As Single = 50For Each page As PdfPageBase In origDoc.Pages
Dim newPage As PdfPageBase = destDoc.Pages.Add(page.Size, New PdfMargins(0))
newPage.Canvas.ScaleTransform((page.ActualSize.Width - left - right) / page.ActualSize.Width, (page.ActualSize.Height - top - bottom) / page.ActualSize.Height)
newPage.Canvas.DrawTemplate(page.CreateTemplate(), New PointF(left, top))
NextdestDoc.SaveToFile("result.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词