如何通过C#/VB.NET 代码调整PDF文档的页边距

这篇具有很好参考价值的文章主要介绍了如何通过C#/VB.NET 代码调整PDF文档的页边距。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PDF边距是页面主要内容区域和页面边缘之间的距离。与Word页边距不同,PDF文档的页边距很难更改。因为Adobe没有提供操作页边距的直接方法。但是,您可以通过缩放页面内容来改变页边距。本文将介绍如何在不更改页面大小的情况下使用C#/VB.NET 代码调整PDF文档的页边距。

  • 增加PDF文档的页边距
  • 缩短PDF文档的页边距

增加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

效果图

如何通过C#/VB.NET 代码调整PDF文档的页边距

缩小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

效果图

如何通过C#/VB.NET 代码调整PDF文档的页边距

—本文完—文章来源地址https://www.toymoban.com/news/detail-426810.html

 

到了这里,关于如何通过C#/VB.NET 代码调整PDF文档的页边距的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库

    前面说的Delphi通过Activex DLL同时调用PowerBasic和FreeBasic写的DLL,是在WINDOWS基础平台上完成的。 而 .NET平台是架在WINDOWS基础平台之上的,它的上面VB.NET或C#等开发的APP程序,下面写一下用VB.NET,通过VB6注册的Activex DLL公共对象COM,调用PowerBasic和FreeBasic写的DLL实现,核心功能是MK

    2024年02月11日
    浏览(47)
  • 对《VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库》的改进

    《VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库》使用的Activex DLL公共对象是需要先注册的。https://blog.csdn.net/weixin_45707491/article/details/132437502?spm=1001.2014.3001.5501 Activex DLL事前注册,一次多用说起来也不是啥大问题,但不能更改到其它文件夹,否则程序找不到会出错,改地方

    2024年02月11日
    浏览(77)
  • VB.NET基于WEB房地产评估系统(源代码+论文)

    房地产评估系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统特有的房屋基本情况、专业评

    2024年02月13日
    浏览(52)
  • VB.net+SQL房地产评估系统设计与实现(源代码+论文)

    房地产评估系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统特有的房屋基本情况、专业评

    2024年02月10日
    浏览(47)
  • PDF控件Spire.PDF for .NET【安全】演示:加密 PDF 文档

    加密PDF是人们常用的保护PDF的方法。无论对于公司还是个人,使用PDF加密来设置一些限制都是必不可少的。为了使PDF文档可供未经授权的用户阅读但无法修改,加密的PDF文档需要两个密码:所有者密码和用户密码。本节将特别介绍一种通过 Spire.PDF for .NET 使用 C#、VB.NET 快速加

    2024年03月14日
    浏览(51)
  • C#/VB.NET:如何从 PowerPoint 演示文稿中提取文本

    在学习或者日常工作中,有时我们需要把幻灯片的东西整理成文字,而从 PowerPoint 演示文稿中一张一张的整理手动复制粘贴,整个过程会非常费精力且耗时。那么怎么样才能比较轻松且快速地提取PowerPoint中的文字呢?今天这篇文章就将为你介绍如何通过编程方式提取PowerPoint中

    2024年02月06日
    浏览(49)
  • PDF控件Spire.PDF for .NET【安全】演示:更改 PDF 文档的安全权限

    当您使用密码保护 PDF 文档时,您可以选择指定一组权限。权限决定用户如何与文件交互。例如,您可以对文档应用权限以禁止用户打印或使用剪切和粘贴操作。本文演示如何在C# 和 VB.NET中使用Spire.PDF for .NET更改 PDF 文档的安全权限。 Spire.PDF for .NET 是一款独立 PDF 控件,用于

    2024年01月19日
    浏览(62)
  • Spire.PDF for .NET【文档操作】演示:合并 PDF 文件并添加页码

    需要合并 PDF 的原因有很多。例如,合并 PDF 文件允许您打印单个文件,而不是为打印机排队多个文档,组合相关文件通过减少要搜索和组织的文件数量来简化管理和存储多个文档的过程。在本文中,您将学习如何使用Spire.PDF for .NET将多个 PDF 文档合并为一个 PDF 文档,以及如

    2024年04月09日
    浏览(80)
  • Spire.PDF for .NET【文档操作】演示:动态创建 PDF 并将其发送到客户端浏览器

    可移植文档格式 (PDF) 是 Adobe 制定的独立规范的固定版式文档。它封装了完整的描述,包括文本字体、图形和显示它所需的其他信息。 Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现

    2024年04月25日
    浏览(46)
  • Marior去除边距和迭代内容矫正用于自然文档矫正

    本文简要介绍了论文 “ Marior: Margin Removal and Iterative Content Rectification for Document Dewarping in the Wild ” 的相关工作。照相机捕捉到的文档图像通常会出现透视和几何变形。考虑到视觉美感较差和OCR系统性能下降,对其进行纠正具有重要的价值。最近的基于学习的方法集中关注于精

    2024年02月01日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包