跳至頁尾內容
使用IRONPDF

如何使用IronPDF在.NET中建立PDF文件

Cropping and Trimming PDF Pages using IronPDF Library in C

對於C#的開發者來說,裁剪和修剪PDF頁面總是一項具有挑戰性的任務。 在PDF文件中繪製一個裁剪框繞地區,然後只保存該部分並不簡單。 幸運的是,IronPDF程式庫在 .NET 的C#中提供了解決方案。

IronPDF .NET 程式庫

IronPDF .NET PDF 程式庫是一個C# .NET 程式庫,允許開發者建立、編輯和操作PDF文件。 由於其PDF生成功能,IronPDF在C#開發者中非常受歡迎,這使得他們可以在不安裝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. 您可以從您的C#專案中的NuGet Package Manager解決方案中下載IronPDF,該專案是使用Visual Studio建立的。 可通過工具或右鍵點擊方案總管存取NuGet Package Manager。 瀏覽IronPDF包並安裝它。
  2. 另一種安裝IronPDF的方法是直接從IronPDF NuGet頁面下載。

Crop PDF File using IronPDF in C

以下逐步過程將幫助您裁剪PDF頁面。 這並不簡單,但我們可以利用一些方法來完成這項任務。 讓我們開始吧!

步驟1:載入PDF文件

為了從本地位置載入PDF文件到該專案,IronPDF在PdfDocument類中提供了這個方法FromFile。 以下程式碼範例演示了如何打開現有的PDF文件:

// Load an existing PDF document from a file
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
// Load an existing PDF document from a file
PdfDocument pdf = PdfDocument.FromFile("Input.pdf");
' Load an existing PDF document from a file
Dim pdf As PdfDocument = PdfDocument.FromFile("Input.pdf")
$vbLabelText   $csharpLabel

所載入的文件如下:

如何在C#中裁剪PDF文件,圖1:樣本PDF條碼文件 樣本PDF條碼文件

步驟2:從PDF文件載入特定頁面

現在文件已經打開進行編輯,建立一個單獨的PdfDocument物件並使用CopyPage方法儲存需要裁剪的特定頁面。 只需傳遞需要裁剪的頁面的索引即可。 這樣,程式碼範例將裁剪PDF文件的第一頁。

// Copy the first page of the loaded PDF document
PdfDocument loadedPage = pdf.CopyPage(0);
// Copy the first page of the loaded PDF document
PdfDocument loadedPage = pdf.CopyPage(0);
' Copy the first page of the loaded PDF document
Dim loadedPage As PdfDocument = pdf.CopyPage(0)
$vbLabelText   $csharpLabel

步驟3:將載入的PDF頁面轉換為圖像

將PDF頁面轉為高解析度圖像的方法提供了將PDF頁面保存為高解析度圖像文件的功能。以下程式碼有助於將選定頁面轉換為圖像以進行裁剪。

// Convert the PDF page to a high-resolution PNG image
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
// Convert the PDF page to a high-resolution PNG image
loadedPage.RasterizeToImageFiles(@"C:\Image\Page_to_be_Cropped.png");
' Convert the PDF page to a high-resolution PNG image
loadedPage.RasterizeToImageFiles("C:\Image\Page_to_be_Cropped.png")
$vbLabelText   $csharpLabel

現在頁面將轉換為圖像文件。輸出是一個高品質的PNG圖像。

如何在C#中裁剪PDF文件,圖2:輸出的高品質PNG圖像文件 輸出的高品質PNG圖像文件

現在,特定頁面已經與原文件分離,準備進行裁剪。

步驟4:獲取載入頁面的尺寸

為了裁剪PDF,必須建立一個具有一定寬度和高度的裁剪框。 為此目的,將使用ChromePdfRenderer類建立一個新文件。 它提供按照需要自定義PDF頁面大小的選項,且資料均勻分佈在各頁面上。

在建立ChromePdfRenderer之前,首先獲取步驟2中載入頁面的尺寸。然後,使用這些尺寸在設置自定義頁面大小時建立裁剪框。 以下程式碼範例將幫助您獲取頁面的寬度和高度:

// Retrieve dimensions of the loaded PDF page
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];

// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
// Retrieve dimensions of the loaded PDF page
PdfPagesCollection pages = loadedPage.Pages;
PdfPage pdfPage = pages[0];

// Dimensions retrieved in mm
float width = pdfPage.Width;
float height = pdfPage.Height;
' Retrieve dimensions of the loaded PDF page
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文件的總頁數。 然後,將該頁面傳遞給Height屬性中獲取頁面尺寸值。 全都完成了! 現在,讓我們進入下一步,建立自定義裁剪框。

步驟5:設置自定義PDF頁面大小

以下程式碼將有助於建立一個自定義PDF紙張大小,作為裁剪框,以裁剪不同頁面段中的內容。

// Create a ChromePdfRenderer to set up a custom paper size
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeInMillimeters(width, height / 4);
pdfRenderer.RenderingOptions.ForcePaperSize = true;
// Create a ChromePdfRenderer to set up a custom paper size
ChromePdfRenderer pdfRenderer = new ChromePdfRenderer();
pdfRenderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Custom;
pdfRenderer.RenderingOptions.SetCustomPaperSizeInMillimeters(width, height / 4);
pdfRenderer.RenderingOptions.ForcePaperSize = true;
' Create a ChromePdfRenderer to set up a custom paper size
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.SetCustomPaperSizeInMillimeters(width, height / 4)
pdfRenderer.RenderingOptions.ForcePaperSize = True
$vbLabelText   $csharpLabel

在上面的程式碼中,建立了一個ChromePdfRenderer,用於建立新的PDF文件。 然後,將Custom。 最後,使用第四步中檢索的尺寸設置自定義頁邊距。

將寬度設定為原始頁面寬度,將高度減少至原始頁面長度的1/4。 這使得頁面成為一個矩形形狀的媒體框,用於放置內容。

注意:您可以使用ForcePaperSize = true來確保應用自定義尺寸。 有關設置自定義頁邊距的更多資訊,請存取此自定義PDF頁邊距指南

步驟6:使用HTML建立新文件

現在,這個最後步驟將使用自定義頁面大小的PDF和從載入頁面保存的圖像建立一個新文件。

// Render HTML to a PDF document with a custom paper size using the cropped image
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("<img src='Page_to_be_Cropped.png'/>", @"C:\Image\");
// Render HTML to a PDF document with a custom paper size using the cropped image
var croppedPdf = pdfRenderer.RenderHtmlAsPdf("<img src='Page_to_be_Cropped.png'/>", @"C:\Image\");
' Render HTML to a PDF document with a custom paper size using the cropped image
Dim croppedPdf = pdfRenderer.RenderHtmlAsPdf("<img src='Page_to_be_Cropped.png'/>", "C:\Image\")
$vbLabelText   $csharpLabel

現在讓我們使用SaveAs方法保存文件。

// Save the newly cropped document
croppedPdf.SaveAs("Cropped.pdf");
// Save the newly cropped document
croppedPdf.SaveAs("Cropped.pdf");
' Save the newly cropped document
croppedPdf.SaveAs("Cropped.pdf")
$vbLabelText   $csharpLabel

輸出

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

從輸出中,您可以看到一個單一圖像現在被分成多個具有建立的自定義修剪框的頁面。 您可以使用以下程式碼複製您需要的特定頁面:

// Copy and save a specific page from the cropped document
croppedPdf.CopyPage(1).SaveAs("Cropped_Page1.pdf");
// Copy and save a specific page from the cropped document
croppedPdf.CopyPage(1).SaveAs("Cropped_Page1.pdf");
' Copy and save a specific page from the cropped document
croppedPdf.CopyPage(1).SaveAs("Cropped_Page1.pdf")
$vbLabelText   $csharpLabel

結論

本文示範了如何通過建立虛擬矩形裁剪框來裁剪PDF文件,以頁面為單位,使用IronPDF for .NET Framework。 RasterizeToImageFiles方法有助於將頁面轉換為圖像,然後用於建立像素完美的PDF文件。

IronPDF還提供其他PDF工具,可以旋轉PDF頁面、更改PDF文字、設置頁邊距、格式化PDF、進行轉換等。 要了解有關IronPDF for .NET的更多資訊,並存取其他功能以使用IronPDF操作PDF文件或如何自定義PDF紙張大小

IronPDF .NET 程式庫在開發中免費,但需要授權進行商業用途。 從此IronPDF ZIP下載下載功能強大的IronPDF程式庫for .NET並試試看!

常見問題

如何在C#中裁剪PDF頁面的同時保持格式不變?

您可以使用IronPDF在C#中裁剪PDF頁面,方法是載入PDF文件、將所需頁面轉換為高解析度圖像,並使用圖像的尺寸設置裁剪框,使用`ChromePdfRenderer`類。這使您能夠渲染裁剪過的PDF而不丟失格式。

裁剪PDF使用C#涉及哪些步驟?

要使用C#裁剪PDF,首先使用`PdfDocument.FromFile`載入PDF,提取您想裁剪的特定頁面,使用`RasterizeToImageFiles`將其轉換為圖像,然後使用`ChromePdfRenderer`應用裁剪框並渲染最終裁剪的PDF頁面。

我可以使用IronPDF將HTML轉換為PDF嗎?

可以,IronPDF允許您使用例如`RenderHtmlAsPdf`的HTML字串和`RenderHtmlFileAsPdf`的HTML文件方法將HTML轉換為PDF。這對於從網頁或HTML內容生成PDF很有用。

使用IronPDF進行PDF操作需要任何特定的軟體嗎?

使用IronPDF,您需要安裝Visual Studio 2022來設置C#應用程式所需的.NET環境。此外還需要通過NuGet Package Manager安裝IronPDF。

使用IronPDF可以在PDF中新增數位簽名嗎?

可以,IronPDF支持向PDF中新增數位簽名,這提高了文件的安全性和真實性。這項功能是該程式庫廣泛PDF操作能力的一部分。

在C#中使用IronPDF時的一些排錯技巧有哪些?

如果您在使用IronPDF時遇到問題,請確保所有依賴項都已通過NuGet正確安裝,驗證您的Visual Studio環境是否已設置為.NET開發,並查閱官方IronPDF文件以獲取有關特定方法和類別的指導。

在IronPDF中使用`ChromePdfRenderer`類的目的何在?

`ChromePdfRenderer`類在IronPDF中用於以特定配置渲染PDF文件,例如設置頁面大小和裁剪框。尤其在需要自定義輸出PDF的外觀或尺寸時非常有用。

如何確保在使用IronPDF時PDF的安全性?

IronPDF允許您通過新增使用者和擁有者密碼以及應用數位簽名來增強PDF安全性。這些功能可幫助您的文件免受未經授權的存取和修改。

IronPDF與.NET 10完全相容嗎?這對C#中PDF裁剪有什麼好處嗎?

是的,IronPDF與.NET 10完全相容。它支持所有主要平台的.NET 10,從而在運行PDF操作如渲染、裁剪、圖像處理等時提供了增強的性能、更好的記憶體使用和更新的C#語言特性。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話