C#でPDFファイルを画像に変換
Aimen Fatima
2023年10月12日
- PDFから画像へのコンバーター
- PDFium パッケージを使用して C# で PDF ファイルを画像に変換する
- Syncfusion パッケージを使用して C# で PDF ファイルを画像に変換する
- PDFRasterizer を使用して C# で PDF ファイルを画像に変換する
この記事では、C# での PDF ファイルの画像への変換について説明します。
PDFファイルを画像に変換する2つの方法を探ります。 詳しく説明するために、C# プロジェクトを段階的に作成し、すべてのコード スニペットを提供します。
PDFから画像へのコンバーター
C# を使用して PDF ファイルを画像に変換する方法は複数あります。 サードパーティのアセンブリを使用して、コンバーターを作成したり、独自のコンバーターを作成したりできます。
2つの異なるアセンブリを使用して、PDF ファイルを画像に変換するコンバーターを作成します。 これらは:
- PDFium
- シンクロフュージョン
これら 2つの NuGet パッケージは、nuget.org からプロジェクトにインストールできます。 これらのパッケージを段階的にインストールするための C# プロジェクトとガイドを作成しましょう。
PDFium パッケージを使用して C# で PDF ファイルを画像に変換する
-
Visual Studio で
コンソール アプリケーション
を作成します。 これらのパッケージをインストールして操作するには、Visual Studio 2019 以降をお勧めします。 -
Project
タブをクリックしてManage NuGet Packages
を選択するか、Tools
タブをクリックしてNuGet Package Manager
を選択し、Manage NuGet Packages for Solution
を選択します。 -
Browse
タブを選択し、Package Source
をnuget.org
に設定します。 -
Package Source
ウィンドウにnuget.org
が見つからないとします。設定
タブをクリックして追加します。+
アイコンをクリックして、画像に表示されている名前とソースを入力します。 -
検索バーに
PDFium
と入力します。 PdfiumViewer、PdfiumViewer.Native.x86.v8-xfa、および PDFium.x86 をインストールします。 -
これらのパッケージをインストールすると、PdfiumViewer への参照が
参照
ウィンドウで利用できるようになります。 プロジェクト ディレクトリにSamples
という名前のフォルダーを作成し、変換する PDF ファイルをこのフォルダーに配置します。 -
System.Drawing
への参照を追加して、このアセンブリをプロジェクトにインポートします。Solution Explorer
ウィンドウのReferences
タブを右クリックし、Add Reference
を選択し、Framework
に移動して、System.Drawing
を選択します。 -
Program.cs
ファイルに次のコード スニペットを追加します。 要件に応じて、入力および出力ファイル名をカスタマイズできます。 -
このコード スニペットは、単一ページと複数ページのドキュメントを変換します。 コードを実行した後、PDF ファイルは画像に変換されます (各 PDF ファイル ページは画像として)。
using PdfiumViewer; using System; using System.Drawing.Imaging; using System.IO; using System.Linq; namespace PdfToImage { class Program { static void Main(string[] args) { var projectDirectory = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName; try { using (var document = PdfDocument.Load(projectDirectory + @"\Samples\document.pdf")) { var pageCount = document.PageCount; for (int i = 0; i < pageCount; i++) { var dpi = 300; using (var image = document.Render(i, dpi, dpi, PdfRenderFlags.CorrectFromDpi)) { var encoder = ImageCodecInfo.GetImageEncoders().First(c => c.FormatID == ImageFormat.Jpeg.Guid); var encoderParams = new EncoderParameters(1); encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L); image.Save(projectDirectory + @"\Samples\image_" + i + ".jpg", encoder, encoderParams); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.WriteLine("Pdf converted to images. Press any key to exit..."); Console.ReadKey(); } } }
-
DLL 'pdfium.dll' に 'FPDF_AddRef' という名前のエントリ ポイントが見つかりません
という例外が発生した場合は、ビルド設定でターゲット プラットフォームを変更する必要があります。 -
Build
タブに移動し、システムに応じてプラットフォーム ターゲット (x86 または x64) を選択します。Build
の下にプラットフォーム ターゲットが見つからない場合は、Project
タブを選択し、プロジェクト プロパティを選択して、Build
の下でプラットフォーム ターゲットを見つけます。
Syncfusion パッケージを使用して C# で PDF ファイルを画像に変換する
-
上記の手順 1 に従って、Visual Studio 2019 以降のバージョンで
コンソール アプリケーション
を作成します。 -
上記のセクションで説明した手順 2 と 3 に従って、NuGet.org から Syncfusion パッケージを参照します。
-
Syncfusion.pdfViewer.Windows
パッケージを検索してインストールします。 -
上記の手順 6 に従って、
System.Drawing
とSystem.Windows.Forms
への参照を追加します。 -
次のコード スニペットを
Program.cs
ファイルにコピーして、PDF ファイルの 1 ページを画像に変換します。for
ループを使用して、複数ページの変換用にカスタマイズできます。 -
必要に応じて、入力ファイル名と出力ファイル名をカスタマイズします。
ExportAsImage()
メソッドで適切なパラメーターを渡すことにより、変換する特定のページを選択できます。using Syncfusion.Pdf.Parsing; using Syncfusion.Windows.Forms.PdfViewer; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PDFToJPEG { class Program { static void Main(string[] args) { // Initialize the PdfViewer Control PdfViewerControl pdfViewer = new PdfViewerControl(); // Load the input PDF file PdfLoadedDocument document = new PdfLoadedDocument("../../Data/document.pdf"); pdfViewer.Load(document); Bitmap image = pdfViewer.ExportAsImage(0); // Save the image. image.Save("output.jpg", ImageFormat.Jpeg); } } }
プロジェクト ディレクトリ ->bin ->Debug に移動して、出力イメージ ファイルを見つけます。
PDFRasterizer を使用して C# で PDF ファイルを画像に変換する
PDFRasterizer は、PDF ファイルを C# で開発された画像に変換するツールです。 Windows フォームを使用した GUI を提供します。
ソースコードをダウンロードして、エラーなく使用できます。 PDFRasterizer に移動してコンポーネントをダウンロードします。