«

怎么通过C#/VB.NET调整PDF文档页边距

时间:2024-6-8 09:49     作者:韩俊     分类: Java


这篇文章主要介绍“怎么通过C#/VB.NET调整PDF文档页边距”,在日常操作中,相信很多人在怎么通过C#/VB.NET调整PDF文档页边距问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么通过C#/VB.NET调整PDF文档页边距”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PDF边距是页面主要内容区域和页面边缘之间的距离。与Word页边距不同,PDF文档的页边距很难更改。因为Adobe没有提供操作页边距的直接方法。但是,您可以通过缩放页面内容来改变页边距。

增加PDF文档的页边距

扩大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 边距的方法是新建一个页面尺寸较小的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

标签: java

热门推荐