Konvertieren Sie PDF-Dateien in Bilder in C#
- PDF-zu-Bild-Konverter
- Konvertieren Sie PDF-Dateien in Bilder in C# mit dem PDFium-Paket
- Konvertieren Sie PDF-Dateien in Bilder in C# mit dem Syncfusion-Paket
- Konvertieren Sie PDF-Dateien in Bilder in C# mit PDFRasterizer
Dieser Artikel demonstriert die Konvertierung von PDF-Dateien in Bilder in C#.
Wir werden zwei Methoden zum Konvertieren von PDF-Dateien in Bilder untersuchen. Um gründlich darauf einzugehen, werden wir Schritt für Schritt C#-Projekte erstellen und alle Codeschnipsel bereitstellen.
PDF-zu-Bild-Konverter
Es gibt mehrere Möglichkeiten, PDF-Dateien mit C# in Bilder zu konvertieren. Sie können Assemblys von Drittanbietern verwenden, um einen Konverter zu erstellen, oder einen eigenen erstellen.
Wir werden einen Konverter erstellen, um PDF-Dateien mit zwei verschiedenen Baugruppen in Bilder zu konvertieren. Diese sind:
- PDFium
- Synchronisation
Diese beiden NuGet-Pakete können von nuget.org in Ihren Projekten installiert werden. Lassen Sie uns ein C#-Projekt erstellen und Schritt für Schritt durch die Installation dieser Pakete führen.
Konvertieren Sie PDF-Dateien in Bilder in C# mit dem PDFium-Paket
-
Erstellen Sie in Visual Studio eine
Konsolenanwendung
. Wir empfehlen Visual Studio 2019 oder höher, um diese Pakete zu installieren und damit zu arbeiten. -
Klicken Sie auf die Registerkarte
Projekt
und wählen SieNuGet-Pakete verwalten
oder klicken Sie auf die RegisterkarteTools
, wählen SieNuGet-Paket-Manager
und wählen SieNuGet-Pakete für Lösung verwalten
. -
Wählen Sie die Registerkarte
Durchsuchen
und stellen Sie diePaketquelle
aufnuget.org
ein. -
Angenommen, Sie finden
nuget.org
nicht im FensterPaketquelle
; fügen Sie es hinzu, indem Sie auf die RegisterkarteEinstellungen
klicken. Klicken Sie auf das Symbol+
und geben Sie den im Bild angezeigten Namen und die Quelle ein. -
Geben Sie
PDFium
in die Suchleiste ein. Installieren Sie PdfiumViewer, PdfiumViewer.Native.x86.v8-xfa und PDFium.x86. -
Nachdem Sie diese Pakete installiert haben, wird im Fenster
Referenzen
ein Verweis auf PdfiumViewer verfügbar sein. Erstellen Sie in Ihrem Projektverzeichnis einen Ordner namensSamples
und legen Sie die zu konvertierende PDF-Datei in diesem Ordner ab. -
Fügen Sie einen Verweis auf
System.Drawing
hinzu, um diese Baugruppe in Ihr Projekt zu importieren. Klicken Sie mit der rechten Maustaste auf die RegisterkarteReferenzen
im FensterSolution Explorer
, wählen SieReferenz hinzufügen
, navigieren Sie zuFramework
und wählen SieSystem.Drawing
. -
Fügen Sie das folgende Code-Snippet zur Datei
Program.cs
hinzu. Sie können den Namen der Eingabe- und Ausgabedatei Ihren Anforderungen entsprechend anpassen. -
Dieses Code-Snippet konvertiert einseitige und mehrseitige Dokumente. Nach dem Ausführen des Codes sollte Ihre PDF-Datei in Bilder konvertiert werden (jede Seite der PDF-Datei als Bild).
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(); } } }
-
Wenn Sie auf die Ausnahme
Unable to find an entry point named 'FPDF_AddRef' in DLL 'pdfium.dll.'
stoßen, müssen Sie die Zielplattform in Ihrer Build-Einstellung ändern. -
Navigieren Sie zur Registerkarte
Build
und wählen Sie das Plattformziel entsprechend Ihrem System aus, d. h. x86 oder x64. Wenn Sie das Plattformziel nicht unterBuild
finden, wählen Sie die RegisterkarteProjekt
, wählen Sie Projekteigenschaften und suchen Sie das Plattformziel unterBuild
.
Konvertieren Sie PDF-Dateien in Bilder in C# mit dem Syncfusion-Paket
-
Erstellen Sie eine
Konsolenanwendung
in Visual Studio 2019 oder einer höheren Version, indem Sie Schritt 1 wie oben beschrieben ausführen. -
Führen Sie die im obigen Abschnitt beschriebenen Schritte 2 und 3 aus, um das Syncfusion-Paket von NuGet.org zu durchsuchen.
-
Suchen Sie nach dem Paket
Syncfusion.pdfViewer.Windows
und installieren Sie es. -
Fügen Sie Verweise auf
System.Drawing
undSystem.Windows.Forms
hinzu, indem Sie den oben genannten Schritt 6 ausführen. -
Kopieren Sie das folgende Code-Snippet in Ihre
Program.cs
-Datei, um eine einzelne Seite einer PDF-Datei in ein Bild zu konvertieren. Sie können es mit derfor
-Schleife für die mehrseitige Konvertierung anpassen. -
Passen Sie die Eingabe- und Ausgabedateinamen gemäß Ihren Anforderungen an. Sie können die zu konvertierende Seite auswählen, indem Sie den entsprechenden Parameter in der Methode
ExportAsImage()
übergeben.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); } } }
Navigieren Sie zum Projektverzeichnis->bin->Debug, um die Ausgabebilddatei zu finden.
Konvertieren Sie PDF-Dateien in Bilder in C# mit PDFRasterizer
PDFRasterizer ist ein Tool zum Konvertieren von PDF-Dateien in Bilder, die in C# entwickelt wurden. Es stellt die GUI in Windows-Form bereit.
Sie können den Quellcode herunterladen und fehlerfrei verwenden. Navigieren Sie zu PDFRasterizer, um die Komponente herunterzuladen.