IRONPDFの使用

C#でPDFファイルをクロップする方法

PDFページのクロップとトリミングは、C#の開発者にとって常に困難な作業です。 PDFドキュメントの希望する領域にクロップボックスを描画し、その部分だけを保存するのは簡単ではありません。 幸いなことに、C#でのIronPDF Library for .NETには解決策があります。

IronPDF .NET ライブラリ

IronPDF .NET PDFライブラリは、開発者がPDFファイルを作成、編集、および操作することを可能にするC# .NETライブラリです。 そのPDF生成機能により、C#開発者の間で非常に人気があります。これにより、Adobe AcrobatをインストールせずにPDFファイルを操作することが可能です。 IronPDF for .NET は、異なる形式間の変換も可能です。例えば、HTML から PDF への変換URL から PDF への変換、および 画像から PDF への変換 です。

また、カスタムヘッダーとフッターPDFのデジタル署名、注釈およびPDFからの添付ファイルの追加/削除、ユーザーおよびオーナーパスワード、その他のセキュリティオプションをサポートしています。 IronPDFは優れたレンダリングエクスペリエンスのために高速なChromiumエンジンを持っています。 また、マルチスレッドサポート非同期機能 を完全に提供します。

前提条件

始める前に、Visual Studio 2022(最新バージョン)をダウンロードしてインストールする必要があります。 Visual StudioはC#アプリを作成するために必要です。インストールすることで.NET環境が構築され、その後ローカルシステムはPDF to JPGコンバーターの作成準備が整います。 こちらのVisual Studio ダウンロードページからVisual Studioをダウンロードできます。

IronPDFのインストール

IronPDFをインストールする方法は複数あります:

  1. IronPDFは、Visual Studioを使用して作成したC#プロジェクト内のNuGetパッケージマネージャーソリューションからダウンロードできます。 ツールから、またはソリューションエクスプローラーを右クリックして、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インスタンスに渡して、ページのWidthプロパティとHeightプロパティからページの寸法値を取得します。 完了しました! それでは、カスタムのクロップボックスを作成する次のステップに進みましょう。

ステップ 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

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

幅を元のページ幅に設定し、高さを元のページ長さの4分の1減らします。 これは、そのページをコンテンツ用の四角形のメディアボックスとして機能させます。

注: カスタムサイズが適用されるようにするには、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

Now let's save the document using the SaveAs メソッドを使用してドキュメントを保存しましょう。

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

出力

PDFファイルをC#でクロップする方法、図3: クロップされたPDFファイル

クロップされたPDFファイル

出力から、1つの画像が5ページに分割され、カスタムトリムボックスが作成されたことがわかります。 以下のコードを使用して、必要な特定のページをコピーできます:

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を使用してPDFファイルを操作する方法や、PDF用紙サイズをカスタマイズする方法について、IronPDF for .NETの詳細と追加機能について学ぶことができます。

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

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
PDFコンバーター .NET (開発者向けチュートリアル)
次へ >
ASP .NETでPDFを作成する方法