使用IRONPDF

如何在C#中裁剪PDF文件

对于 C# 开发人员来说,裁剪和修整 PDF 页面始终是一项具有挑战性的任务。 在 PDF 文档的所需区域周围画一个裁剪框,然后只保存该部分并不简单。 幸运的是,IronPDF Library for .NET in C# 提供了一种解决方案。

IronPDF for .NET 库

IronPDF .NET PDF Library 是一个 C# .NET 库,允许开发人员创建、编辑和操作 PDF 文件。 它在 C# 开发人员中非常流行,因为它具有生成 PDF 的功能,可以让开发人员在没有安装 Adobe Acrobat 的情况下处理 PDF 文件。 IronPDF for .NET还允许在不同格式之间进行转换,例如HTML 转 PDF 转换将URL转换为PDF图像到PDF转换

它还支持添加自定义页眉和页脚PDF中的数字签名、注释和添加/移除PDF附件、用户和所有者密码及其他安全选项。 IronPdf 拥有快速的 Chromium 引擎,可提供卓越的渲染体验。 它还提供完整的多线程支持异步功能

先决条件

在开始之前,需要下载并安装 Visual Studio 2022(最新版本)。 Visual Studio 是构建 C# 应用程序所必需的。安装将设置 .NET 环境,之后本地系统就可以制作 PDF 到 JPG 转换器了。 您可以在此Visual Studio 下载页面下载 Visual Studio。

IronPDF 安装

安装 IronPDF 有多种方法:

  1. 您可以从使用 Visual Studio 创建的 C# 项目中的 NuGet Package Manager 解决方案中下载 IronPDF。 通过 "工具 "或右键单击 "解决方案资源管理器 "访问 NuGet 包管理器。 浏览 IronPDF 软件包并安装。

  2. 另一种安装IronPDF的方法是直接从IronPDF NuGet页面下载。

使用IronPDF在C#中裁剪PDF文件

以下步骤将帮助您裁剪 PDF 页面。 这并不简单,但我们可以利用一些方法来完成这项任务。 让我们开始吧!

步骤 1:加载 PDF 文档

要从本地位置将 PDF 文件加载到此项目中,IronPDF 提供了 FromFile 方法,该方法存在于 PdfDocument 类中。 下面的代码示例演示了如何打开现有的 PDF 文件:

PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
Dim pdf As PdfDocument = PdfDocument.FromFile("Input.pdf")
$vbLabelText   $csharpLabel

加载的文件如下:

如何在C#中裁剪PDF文件,图1:示例PDF条形码文件

示例 PDF 条形码文件

步骤 2:从 PDF 文档加载特定页面

现在文件已打开供编辑,创建一个单独的PdfDocument对象,并使用CopyPage方法存储需要裁剪的特定页面。 只需传递需要裁剪的页面索引即可。 在此,代码示例将裁剪 PDF 文档的第一页。

PdfDocument loadedPage = pdfDocument.CopyPage(0);
PdfDocument loadedPage = pdfDocument.CopyPage(0);
Dim loadedPage As PdfDocument = pdfDocument.CopyPage(0)
$vbLabelText   $csharpLabel

第 3 步:将加载的 PDF 页面转换为图像

将PDF页面转换为高分辨率图像的方法提供了将PDF页面保存为高分辨率图像文件的功能。以下代码帮助将选定页面转换为图像以进行裁剪。

loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
loadedPage.RasterizeToImageFiles("C:\Image\Page_to_be_Cropped.png")
$vbLabelText   $csharpLabel

现在,页面将被转换为图像文件。输出为高质量的 PNG 图像。

如何在 C# 中裁剪 PDF 文件, 图 2:输出的高质量 PNG 图像文件

输出高质量的PNG图像文件

现在,特定页面已从原始文档中分离出来,可以进行裁剪。

第 4 步:获取加载页面的尺寸

为了裁剪 PDF,有必要创建一个具有一定宽度和高度的裁剪框。 为此,将使用ChromePdfRenderer类创建一个新文档。 它提供了根据需要定制 PDF 页面大小的选项,数据在各页之间平均分割。

在创建ChromePdfRenderer之前,首先获取步骤2中已加载页面的尺寸。然后,在设置自定义页面大小以创建裁剪框时使用这些尺寸。 以下代码示例将帮助您获取页面的宽度和高度:

PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];
// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];
// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
Dim pages As PdfPagesCollection = loadedPage.Pages
Dim pdfPage As PdfPage = pages(0)
' Dimensions retrieved in mm
Dim width As Single = pdfPage.Width
Dim height As Single = pdfPage.Height
$vbLabelText   $csharpLabel

首先,使用PdfPagesCollection检索已加载PDF文件的总页数。 然后,将该页面传递给PdfPage实例,以从页面的WidthHeight属性中获取页面尺寸值。 完成! 现在,让我们进入下一步,创建自定义裁剪框。

第 5 步:设置自定义 PDF 页面大小

以下代码将帮助创建自定义 PDF 纸张大小,该大小将用作裁剪框,以裁剪不同页面段的内容。

ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4);

pdfRenderer.RenderingOptions.ForcePaperSize = true;
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4);

pdfRenderer.RenderingOptions.ForcePaperSize = true;
Dim pdfRenderer As New ChromePdfRenderer()
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
pdfRenderer.RenderingOptions.SetCustomPaperSizeinMilimeters(width, height/4)

pdfRenderer.RenderingOptions.ForcePaperSize = True
$vbLabelText   $csharpLabel

在上述代码中,创建了一个ChromePdfRenderer,用于创建一个新的PDF文档。 然后,PdfPaperSize 属性值设置为 Custom。 最后,使用步骤 4 中获取的尺寸设置自定义页边距。

将宽度设置为原始页面的宽度,高度减少原始页面长度的 1/4。 这就使页面成为一个矩形的内容媒体框。

注意:您可以使用ForcePaperSize = true来确保应用自定义尺寸。 有关设置自定义边距的信息,请访问此自定义PDF边距指南

步骤 6:使用 HTML 创建新文档

现在,最后一步将使用自定义页面大小的 PDF 和从加载页面中保存的图像创建一个新文档。

var croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", @"C:\Image\");
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", @"C:\Image\");
Dim croppedPdf = pdfRenderer.RenderHtmlAsPdf("< src='Page_to_be_Cropped.png'/>", "C:\Image\")
$vbLabelText   $csharpLabel

现在让我们使用SaveAs方法保存文档。

croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

输出

如何在C#中裁剪PDF文件,图3:裁剪后的PDF文件

裁剪后的PDF文件

从输出结果中可以看到,通过创建的自定义裁剪框,一张图片现在被分成了五页。 您可以使用以下代码复制您需要的特定页面:

croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

结论

本文演示了如何使用 IronPDF for .NET Framework 在页面方面创建虚拟矩形裁剪框来裁剪 PDF 文档。 RasterizeToImageFiles 方法有助于将页面转换为图像,然后用于创建像素完美的PDF文档。

IronPDF 还提供其他 PDF 工具,可以旋转 PDF 页面、更改 PDF 文本、设置页边距、格式化 PDF、转换 PDF 等。 要了解有关IronPDF for .NET的更多信息,并获取更多功能以使用IronPDF处理PDF文件自定义PDF纸张尺寸

IronPDF .NET 库在开发阶段是免费的,但需要获得商业用途的许可。 从此IronPDF ZIP 下载下载功能强大的IronPDF for .NET库,并尝试一下!

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
PDF 转换器 .NET(开发者教程)
下一步 >
如何在ASP .NET中创建PDF