Möglicherweise müssen Sie die Seiten von PDF-Dokumenten als Bilddateien für andere freigeben. Als C#-Entwickler können Sie PDF-Dateien problemlos in Ihren .NET-Anwendungen programmgesteuert in PNG, JPG, TIFF oder BMP konvertieren. In diesem Artikel erfahren Sie, wie Sie mit C# PDF in Bilder konvertieren.
Die folgenden Themen werden in diesem Artikel behandelt/behandelt:
- PDF-zu-Bild-Konvertierung C#-API
- Konvertieren Sie PDF in PNG-Bilder mit C#
- Konvertieren Sie PDF in JPG-Bilder mit C#
- PDF-zu-BMP-Konvertierung in C#
- PDF-zu-TIFF-Konvertierung in C#
- Bilder aus PDF-Dokumenten mit C# extrahieren
PDF-zu-Bild-Konvertierung C#-API
Zum Konvertieren von PDF in Bilder verwende ich Aspose.PDF for .NET API. Es ist eine leistungsstarke PDF-Dateiverwaltungs-API, mit der Sie PDF-Dokumente aus Ihren .NET-Anwendungen heraus bearbeiten können. Sie können damit Dokumente erstellen, ändern, konvertieren, rendern, sichern und drucken, ohne Adobe Acrobat zu verwenden.
Sie können die DLL der API entweder herunterladen oder mithilfe von NuGet installieren.
Install-Package Aspose.Pdf
Konvertieren Sie PDF in PNG-Bilder mit C#
Sie können PDF-Dateien programmgesteuert in PNG-Bilder konvertieren, indem Sie die folgenden Schritte ausführen:
- Erstellen Sie eine Instanz der Klasse Dokument mit dem Pfad der PDF-Eingabedatei.
- Durchlaufen Sie alle Seiten der PDF-Datei mit der Sammlung Document.Pages und gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz der Klasse Resolution und legen Sie ihren Wert fest.
- Erstellen Sie eine Instanz der Klasse PngDevice und übergeben Sie das Objekt „Breite“, „Höhe“ und „Auflösung“.
- Rufen Sie die Methode Process(Page, String) mit der Seitennummer und dem Ausgabe-PNG-Bildpfad auf, um die Seite in ein PNG zu konvertieren.
Das folgende Codebeispiel zeigt, wie Sie PDF-Seiten mit C# in PNG-Bilder konvertieren.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
foreach (var page in pdfDocument.Pages)
{
// Auflösung definieren
Resolution resolution = new Resolution(300);
// Png-Gerät mit angegebenen Attributen erstellen
// Breite, Höhe, Auflösung
PngDevice PngDevice = new PngDevice(500, 700, resolution);
// Konvertieren Sie eine bestimmte Seite und speichern Sie das Bild zum Streamen
PngDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Png");
}
Die Klasse Document repräsentiert das PDF-Dokument. Es stellt mehrere Eigenschaften und Methoden bereit, um verschiedene Funktionalitäten auszuführen. Die Sammlung Document.Pages ist eine Sammlung von Dokumentseiten und die Seitennummerierung beginnt bei 1 in der Sammlung. Die Klasse Resolution definiert die Bildauflösung. Die Klasse PngDevice ermöglicht das Speichern von Seiten des PDF-Dokuments in PNG-Bildern. Diese Klasse bietet die folgenden Methoden zum Speichern von Seiten in PNG-Bildern:
- Prozess (Seite, Zeichenfolge) — Performs some operation on the given page and saves results into the file at given path.
- Prozess (Seite, Stream) — Converts the page into PNG and saves it in the output stream.
Konvertieren Sie PDF in JPG-Bilder mit C#
Sie können PDF-Dateien programmgesteuert in JPG-Bilder konvertieren, indem Sie die folgenden Schritte ausführen:
- Erstellen Sie eine Instanz der Klasse Dokument mit dem Eingabedateipfad.
- Durchlaufen Sie alle Seiten der PDF-Datei mit der Sammlung Document.Pages und gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz der Klasse Resolution und legen Sie ihren Wert fest.
- Erstellen Sie eine Instanz der Klasse JpegDevice und übergeben Sie das Objekt „Breite“, „Höhe“ und „Auflösung“.
- Rufen Sie die Methode Process(Page, String) mit der Seitennummer und dem Ausgabepfad des JPG-Bilds auf, um die Seite in ein JPG zu konvertieren.
Das folgende Codebeispiel zeigt, wie Sie PDF-Seiten mit C# in JPG-Bilder konvertieren.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
foreach (var page in pdfDocument.Pages)
{
// Auflösung definieren
Resolution resolution = new Resolution(300);
// Erstellen Sie ein JPEG-Gerät mit angegebenen Attributen
// Breite, Höhe, Auflösung
JpegDevice JpegDevice = new JpegDevice(500, 700, resolution);
// Konvertieren Sie eine bestimmte Seite und speichern Sie das Bild zum Streamen
JpegDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Jpg");
}
PDF-zu-BMP-Konvertierung mit C#
Sie können PDF-Dateien programmgesteuert in BMP-Bilder konvertieren, indem Sie die folgenden Schritte ausführen:
- Erstellen Sie eine Instanz der Klasse Dokument mit dem Eingabedateipfad.
- Durchlaufen Sie alle Seiten der PDF-Datei mit der Sammlung Document.Pages und gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz der Klasse Resolution und legen Sie ihren Wert fest.
- Erstellen Sie eine Instanz der Klasse BmpDevice und übergeben Sie das Objekt „Breite“, „Höhe“ und „Auflösung“.
- Rufen Sie die Methode Process(Page, String) mit der Seitennummer und dem Ausgabepfad des BMP-Bildes auf, um die Seite in ein BMP-Format zu konvertieren.
Das folgende Codebeispiel zeigt, wie PDF-Seiten mit C# in BMP-Bilder konvertiert werden.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
foreach (var page in pdfDocument.Pages)
{
// Auflösung definieren
Resolution resolution = new Resolution(300);
// PNG-Gerät mit angegebenen Attributen erstellen
// Breite, Höhe, Auflösung
BmpDevice BmpDevice = new BmpDevice(500, 700, resolution);
// Konvertieren Sie eine bestimmte Seite und speichern Sie das Bild zum Streamen
BmpDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".bmp");
}
PDF-zu-TIFF-Konvertierung mit C#
Sie können PDF-Dateien programmgesteuert in TIFF konvertieren, indem Sie die folgenden Schritte ausführen:
- Erstellen Sie eine Instanz der Klasse Dokument mit dem Eingabedateipfad.
- Initialisieren Sie eine Instanz der Klasse Resolution und legen Sie ihren Wert fest.
- Erstellen Sie eine Instanz der Klasse TiffSettings.
- Stellen Sie verschiedene Eigenschaften wie Komprimierung, Tiefe, Form und SkipBlankPages usw. ein.
- Erstellen Sie eine Instanz der Klasse TiffDevice mit den Objekten Resolution und TiffSettings.
- Rufen Sie die Methode Process(Document, String) mit dem Document-Objekt und dem Ausgabepfad der TIFF-Datei auf, um das Dokument in eine TIFF-Datei zu konvertieren.
Das folgende Codebeispiel zeigt, wie Sie eine PDF-Datei mit C# in eine TIFF-Datei konvertieren.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
// Auflösung definieren
Resolution resolution = new Resolution(300);
// TiffSettings-Objekt erstellen
TiffSettings tiffSettings = new TiffSettings
{
Compression = CompressionType.None,
Depth = ColorDepth.Default,
Shape = ShapeType.Portrait,
SkipBlankPages = false
};
// TIFF-Gerät erstellen
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// Konvertieren Sie eine bestimmte Seite und speichern Sie das Bild zum Streamen
tiffDevice.Process(pdfDocument, "C:\\Files\\AllPagesToTIFF_out.tif");
Die Klasse TiffSettings bietet mehrere Einstellungen zum Konvertieren einer PDF-Datei in TIFF. Sie können beim Konvertieren von PDF in TIFF Helligkeit, Komprimierung, Koordinatentyp, Tiefe, Ränder, Form und Leerseiten überspringen festlegen.
Bilder aus PDF-Dokumenten mit C# extrahieren
Sie können alle Bilder aus jeder PDF-Datei programmgesteuert extrahieren, indem Sie die folgenden Schritte ausführen:
- Erstellen Sie eine Instanz der Klasse Dokument mit dem Eingabedateipfad.
- Erstellen Sie für jede Seite eine XImage-Instanz für jedes Bild in der Sammlung Page.Resources.Images.
- Erstellen Sie eine Instanz der Klasse FileStream mit dem Dateipfad des Ausgabebilds.
- Rufen Sie die Methode Save() mit dem FileStream-Objekt auf, um das Bild zu speichern
- Schließen Sie schließlich den FileStream mit der Close()-Methode.
Das folgende Codebeispiel zeigt, wie Sie mit C# Bilder aus einem PDF-Dokument extrahieren.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\sample.pdf");
// Durch die Seiten blättern
foreach (var page in pdfDocument.Pages)
{
int imageCounter = 1;
// Durchlaufen Sie alle Bilder
foreach (XImage image in page.Resources.Images)
{
// Dateistream für Bild erstellen
FileStream outputImage = new FileStream(String.Format("C:\\Files\\Page{0}_Image{1}.jpg", page.Number, imageCounter), FileMode.Create);
// Ausgabebild speichern
image.Save(outputImage);
// Stream schließen
outputImage.Close();
imageCounter++;
}
}
Die Klasse XImage repräsentiert das Bild-X-Objekt. Es bietet mehrere Eigenschaften und Methoden zum Arbeiten mit Bildern. Die XImage-Klasse bietet die folgenden Methoden zum Speichern des Bildobjekts:
- Speichern (Streamen) — Saves image data into stream as JPEG image.
- Speichern (Stream, Bildformat) — Saves image into stream with requested format.
- Die Methode Save(Stream, Int32) — Speichert Bilddaten im Stream als JPEG-Bild mit angegebener Auflösung.
- Die Methode Save(Stream, ImageFormat, Int32) – Speichert das Bild im Stream mit dem angeforderten Format und der angegebenen Auflösung.
Die Sammlung Page.Resources.Images stellt die Sammlung von Bildern für die spezifische Seite dar.
Holen Sie sich eine kostenlose Lizenz
Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie PDF-Dateiseiten mit C# in Bilder konvertieren. Sie haben außerdem gelernt, wie Sie PDF in PNG, PDF in JPG, PDF in BMP und PDF in TIFF programmgesteuert konvertieren. Außerdem haben Sie gelernt, wie Sie mit C# Bilder aus einer PDF-Datei extrahieren. Die API bietet auch Komprimierungsoptionen, Tabellenerstellung und -manipulation, Grafik- und Bildfunktionen, umfangreiche Hyperlink-Funktionalität, Stempel- und Wasserzeichenaufgaben, erweiterte Sicherheitskontrollen und benutzerdefinierte Schriftartenverwaltung. Weitere Informationen zu Aspose.PDF für die .NET-API finden Sie in der Dokumentation. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.