使用 IRONPDF

如何在C#中裁剪PDF文件

在 C# 中裁剪和修剪 PDF 頁面對開發人員來說總是一項具有挑戰性的任務。 在 PDF 文件中繪製裁剪框以標記所需的區域,然後僅保存該部分並不簡單。 幸運的是,IronPDF Library for .NET的C#中存在一個解決方案。

IronPDF .NET 函式庫

IronPDF .NET PDF Library 是一個 C# .NET 庫,允許開發人員創建、編輯和操作 PDF 文件。 它在C#開發人員中非常受歡迎,因為它具有生成PDF的功能,使他們可以在未安裝Adobe Acrobat的情況下處理PDF文件。 IronPDF for .NET 也允許在不同格式間進行轉換,例如HTML 轉 PDF網址轉 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 套件管理器中下載 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中獲取的尺寸設置自定義頁邊距。

將寬度設置為原始頁面的寬度,並將高度減少為原始頁長的四分之一。 這使頁面作為矩形媒體框來運作內容。

注意:您可以使用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、轉換它們等功能。 了解有關IronPDF for .NET的更多資訊,並訪問其他功能以使用IronPDF操作PDF檔案自訂PDF紙張尺寸

IronPDF .NET 函式庫可免費用於開發,但需要取得商業使用許可。 下載功能強大的IronPDF for .NET庫,請從此IronPDF ZIP下載並試試看!

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
PDF 轉換器 .NET(開發者教程)
下一個 >
如何在 ASP .NET 中創建 PDF