フッターコンテンツにスキップ
IRONPDFの使用

C#でPDFファイルをトリミングする方法

Cropping and Trimming PDF Pages using IronPDF Library in C

PDFページのクロッピングとトリミングは、C#の開発者にとって常に難しい作業です。 PDFドキュメントで希望のエリアにクロップボックスを描画して、その部分のみを保存するのは簡単ではありません。 幸いなことに、C#のためのIronPDFライブラリに解決策があります。

The IronPDF .NETライブラリ

IronPDF for .NET PDFライブラリは、開発者がPDFファイルを作成、編集、操作できるC# .NETライブラリです。 Adobe AcrobatがインストールされていなくてもPDFファイルを操作できるPDF生成機能により、C#開発者の間で非常に人気があります。 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パッケージマネージャーソリューションからIronPDFをダウンロードできます。 ツールまたはソリューションエクスプローラーを右クリックしてNuGetパッケージマネージャにアクセスします。 IronPDFパッケージを参照し、インストールします。

  1. IronPDFをインストールするもう一つの方法は、IronPDF NuGetページから直接ダウンロードすることです。

Crop PDF File using IronPDF in C

以下のステップバイステッププロセスは、PDFページをクロップするのに役立ちます。 それは簡単ではありませんが、このタスクを達成するためのいくつかの手法を活用できます。 さあ、始めましょう!

ステップ1: PDFドキュメントを読み込む

ローカルの場所からこのプロジェクトに PDF ファイルを読み込むために、 IronPDF は@@--CODE-433-- @@ クラスにある @@--CODE-432-- @@ メソッドを提供します。 以下のコード例は既存の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");
$vbLabelText   $csharpLabel

読み込まれたドキュメントは以下の通りです:

C# で PDF ファイルをトリミングする方法、図 1: サンプル PDF バーコード ファイル A sample PDF barcode file

ステップ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);
$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");
$vbLabelText   $csharpLabel

これでページは画像ファイルに変換されます。出力は高品質のPNG画像です。

C# で PDF ファイルをトリミングする方法、図 2: 出力される高品質の PNG 画像ファイル The output high-quality PNG image file

これで、特定のページは元のドキュメントから分離され、クロップする準備ができました。

ステップ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;
$vbLabelText   $csharpLabel

まず、 PdfPagesCollectionを使用して、読み込まれた PDF ファイルのページの総数を取得します。 次に、そのページをPdfPageインスタンスに渡して、ページの Width および 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;
$vbLabelText   $csharpLabel

上記のコードでは、新しい PDF ドキュメントを作成するために使用される ChromePdfRenderer が作成されます。 次に、 PdfPaperSizeプロパティの値が Custom に設定されます。 最後に、ステップ4で取得した寸法を使用してカスタムページマージンが設定されます。

幅をオリジナルページの幅に設定し、高さをオリジナルページの長さの4分の1減らします。 これにより、ページはコンテンツのための長方形形のメディアボックスとして機能します。

注: カスタム サイズが適用されていることを確認するには、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\");
$vbLabelText   $csharpLabel

ここで、 SaveAsメソッドを使用してドキュメントを保存してみましょう。

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

出力

C# で PDF ファイルをトリミングする方法、図 3: トリミングされた PDF ファイル The cropped PDF file

出力から、単一の画像がカスタムトリムボックスで複数ページに分割されていることがわかります。 次のコードを使用して必要な特定のページをコピーできます:

// 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

結論

この記事では、IronPDF for .NET Frameworkを使用してページ単位で仮想の長方形クロップボックスを作成することでPDFドキュメントをクロップする方法を示しました。 RasterizeToImageFilesメソッドは、ページを画像に変換し、ピクセルパーフェクトな PDF ドキュメントを作成するのに役立ちます。

IronPDFはまた、PDFページの回転やPDFテキストの変更、マージンの設定、PDFのフォーマット、変換などを行う他のPDFツールも提供しています。 IronPDFでのPDF操作や、PDF用紙サイズのカスタマイズを学び、IronPDF for .NETの詳細や追加機能にアクセスできます。

IronPDF .NETライブラリは開発用には無料ですが、商業利用にはライセンスが必要です。 IronPDF ZIPダウンロードから.NET用の強力なIronPDFライブラリをダウンロードして試してみてください!

よくある質問

C#でPDFページをフォーマットを失わずにトリミングする方法は?

IronPDFを使用して、C#でPDFページをトリミングするには、PDFドキュメントを読み込み、目的のページを高解像度の画像に変換し、画像の寸法を使用して`ChromePdfRenderer`クラスでトリミングボックスを設定します。これにより、フォーマットを失わずにトリミングされたPDFをレンダリングできます。

C#を使用してPDFをトリミングするにはどのような手順が関与しますか?

C#を使用してPDFをトリミングするには、まず`PdfDocument.FromFile`でPDFを読み込み、トリミングしたい特定のページを抽出し、`RasterizeToImageFiles`を使用して画像に変換し、その後`ChromePdfRenderer`を使用してトリミングボックスを適用し、最終的なトリミングされたPDFページをレンダリングします。

IronPDFを使用してHTMLをPDFに変換できますか?

はい、IronPDFは`RenderHtmlAsPdf`メソッドでHTML文字列を、`RenderHtmlFileAsPdf`メソッドでHTMLファイルを使用してHTMLをPDFに変換できます。これは、ウェブページやHTMLコンテンツからPDFを生成するのに便利です。

IronPDFを使用してPDFを操作するには特定のソフトウェアが必要ですか?

IronPDFを使用するためには、C#アプリケーションに必要な.NET環境をセットアップするためにVisual Studio 2022をインストールする必要があります。また、NuGetパッケージマネージャーを介してIronPDFもインストールする必要があります。

IronPDFを使用してPDFにデジタル署名を追加することは可能ですか?

はい、IronPDFはPDFにデジタル署名を追加することをサポートしており、これは文書のセキュリティと信頼性を向上させます。この機能はライブラリの幅広いPDF操作機能の一部です。

C#でIronPDFを使用する際のトラブルシューティングのヒントは何ですか?

IronPDFを使用する際に問題が発生した場合は、NuGetを介してすべての依存関係が正しくインストールされていることを確認し、Visual Studio環境が.NET開発に対して設定されていることを確認した上で、特定のメソッドやクラスについて公式のIronPDFドキュメントを参照してください。

`ChromePdfRenderer`クラスをIronPDFで使用する目的は何ですか?

IronPDFの`ChromePdfRenderer`クラスは、ページサイズやトリミングボックスの設定などの特定の構成でPDFをレンダリングするために使用されます。これは、PDF出力の外観や寸法をカスタマイズする必要がある場合に特に便利です。

IronPDFを使用してPDFを確実にセキュリティを保つにはどうすればよいですか?

IronPDFは、ユーザーおよび所有者のパスワードを追加したり、デジタル署名を適用したりしてPDFのセキュリティを高めることができます。これらの機能は、文書の不正アクセスや改ざんから保護するのに役立ちます。

IronPDF は .NET 10 と完全に互換性がありますか? また、C# での PDF 切り取りにどのような利点がありますか?

はい、IronPDF は .NET 10 と完全に互換性があります。すべての主要プラットフォームで .NET 10 をサポートし、レンダリング、切り取り、画像処理などの PDF 操作において、パフォーマンスの向上、メモリ使用量の改善、新しい C# 言語機能の恩恵を受けられます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me