使用IRONPDF

如何在C#中裁剪PDF文件

更新 2024年三月3日
分享:

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

IronPDF .NET 库

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

它还支持添加 自定义页眉和页脚, 数字签名、注释和 附件用户和所有者密码以及其他安全选项。IronPDF 拥有快速的 Chromium 引擎,可提供卓越的渲染体验。它还提供完整的 多工运作异步支持.

先决条件

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

IronPDF 安装

安装 IronPDF 有多种方法:

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

2.另一种安装 IronPDF 的方法是直接下载 来自 NuGet 网站.

在 C&num 中使用 IronPDF 裁剪 PDF 文件;

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

第 1 步:加载 PDF 文档

要将 PDF 文件从本地加载到本项目中,IronPDF 提供了一个 从文件 方法中的 PDFDocument 类。下面的代码示例演示了如何打开现有的 PDF 文件:

PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
Dim pdf As PdfDocument = PdfDocument.FromFile("Input.pdf")
VB   C#

加载的文件如下:

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

PDF 条形码文件样本

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

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

PdfDocument loadedPage = pdfDocument.CopyPage(0);
PdfDocument loadedPage = pdfDocument.CopyPage(0);
Dim loadedPage As PdfDocument = pdfDocument.CopyPage(0)
VB   C#

第 3 步:将加载的 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")
VB   C#

现在,页面将被转换为图像文件。输出将是高质量的 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
VB   C#

首先,使用以下命令获取已加载 PDF 文件的总页数 PDFPagesCollection.然后,将该页面传递给 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
VB   C#

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

将宽度设置为原始页面的宽度,将高度减少原始页面长度的 1/4 。这样,页面就可以作为矩形媒体框来显示内容。

注意:可以使用 ForcePaperSize = true 来确保应用自定义尺寸。如需设置自定义页边距,请访问 代码示例.

第 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\")
VB   C#

现在,让我们使用 保存为 方法。

croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf");
croppedPdf.SaveAs("Cropped.pdf")
VB   C#

输出

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

经过裁剪的 PDF 文件

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

croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf");
croppedPdf.CopyPage(1).SaveAs("Cropped.pdf")
VB   C#

结论

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

IronPDF 还提供了其他 PDF 工具,可以旋转 PDF 页面、更改 PDF 文本、设置页边距、格式化 PDF、转换 PDF 等。要了解有关 IronPDF for .NET 的更多信息,并访问其他功能,请访问 处理 PDF 文件 或如何 设置自定义 PDF 页面大小.

IronPDF .NET 库可免费用于开发,但需要 特许 用于商业用途。从以下链接下载功能强大的 .NET IronPDF 库 当前项目 ZIP 文件的链接 试一试!

< 前一页
PDF 转换器 .NET(开发者教程)
下一步 >
如何在ASP .NET中创建PDF

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >