Konvertieren Sie PDF-Dateien in Bilder in C#

Aimen Fatima 15 Februar 2024
  1. PDF-zu-Bild-Konverter
  2. Konvertieren Sie PDF-Dateien in Bilder in C# mit dem PDFium-Paket
  3. Konvertieren Sie PDF-Dateien in Bilder in C# mit dem Syncfusion-Paket
  4. Konvertieren Sie PDF-Dateien in Bilder in C# mit PDFRasterizer
Konvertieren Sie PDF-Dateien in Bilder in C#

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:

  1. PDFium
  2. 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.

    Projekt erstellen

  • Klicken Sie auf die Registerkarte Projekt und wählen Sie NuGet-Pakete verwalten oder klicken Sie auf die Registerkarte Tools, wählen Sie NuGet-Paket-Manager und wählen Sie NuGet-Pakete für Lösung verwalten.

    NuGet-Pakete

    NuGet-Pakete 2

  • Wählen Sie die Registerkarte Durchsuchen und stellen Sie die Paketquelle auf nuget.org ein.
  • Angenommen, Sie finden nuget.org nicht im Fenster Paketquelle; fügen Sie es hinzu, indem Sie auf die Registerkarte Einstellungen klicken. Klicken Sie auf das Symbol + und geben Sie den im Bild angezeigten Namen und die Quelle ein.

    NuGet-Einstellung

  • Geben Sie PDFium in die Suchleiste ein. Installieren Sie PdfiumViewer, PdfiumViewer.Native.x86.v8-xfa und PDFium.x86.

    PDFium-Suche

    PDFium-Paket

  • Nachdem Sie diese Pakete installiert haben, wird im Fenster Referenzen ein Verweis auf PdfiumViewer verfügbar sein. Erstellen Sie in Ihrem Projektverzeichnis einen Ordner namens Samples und legen Sie die zu konvertierende PDF-Datei in diesem Ordner ab.

    Referenzfenster

  • 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 Registerkarte Referenzen im Fenster Solution Explorer, wählen Sie Referenz hinzufügen, navigieren Sie zu Framework und wählen Sie System.Drawing.

    Referenz hinzufügen

    Systemzeichnung

  • 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.
  • Projekteigenschaften

    Registerkarte erstellen

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.

    Syncfusion-Paket

  • Fügen Sie Verweise auf System.Drawing und System.Windows.Forms hinzu, indem Sie den oben genannten Schritt 6 ausführen.

    Referenzen - Systemzeichnung und System-Windows-Formulare

  • 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 der for-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.

Verwandter Artikel - Csharp PDF

Verwandter Artikel - Csharp Image