using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
PDF(Portable Document Format) dateien werden häufig für den Dokumentenaustausch verwendet, und die Möglichkeit, ihren Inhalt programmgesteuert zu lesen, ist in verschiedenen Anwendungen von großem Nutzen. Die folgenden Bibliotheken sind für das Lesen von PDF in C++ verfügbar: Poppler, Mupdf, die freie PDF-Bibliothek Haru, Xpdf und Qpdf.
In diesem Artikel erfahren Sie, wie Sie PDF-Dateien in C++ mit dem Befehlszeilen-Tool Xpdf lesen können. Xpdf bietet eine Reihe von Dienstprogrammen für die Arbeit mit PDF-Dateien, einschließlich der Extraktion von Textinhalten. Durch die Integration von Xpdf in ein C++-Programm können wir den Text aus PDF-Dateien extrahieren und programmatisch verarbeiten.
Xpdf - Befehlszeilen-Tools
Xpdf ist eine Open-Source-Software-Suite, die eine Sammlung von Werkzeugen und Bibliotheken für die Arbeit mit PDF(Portable Document Format) dateien. Die Xpdf-Suite umfasst mehrere Befehlszeilen-Dienstprogramme und C++-Bibliotheken, die verschiedene PDF-bezogene Funktionen wie Parsing, Rendering, Textextraktion und mehr ermöglichen. Zu den wichtigsten Komponenten von Xpdf gehören pdfimages, pdftops, pdfinfo und pdfimages. Hier werden wir pdftotext verwenden, um PDF-Dokumente zu lesen.
pdftotext" ist ein Kommandozeilenwerkzeug, das Textinhalte aus PDF-Dateien extrahiert und als reinen Text ausgibt. Dieses Werkzeug ist besonders nützlich, wenn Sie die Textinformationen aus PDFs für die weitere Verarbeitung oder Analyse extrahieren müssen. Mit Hilfe von Optionen können Sie auch angeben, von welcher Seite oder welchen Seiten der Text extrahiert werden soll.
Voraussetzungen
Um ein PDF-Reader-Projekt zum Extrahieren von Text zu erstellen, müssen die folgenden Voraussetzungen gegeben sein:
Ein C++-Compiler wie GCC oder Clang, der auf Ihrem System installiert ist. Sie können einfach jede IDE verwenden, die C++-Programmierung unterstützt.
Xpdf-Befehlszeilentools, die auf Ihrem System installiert sind. Xpdf ist eine Sammlung von PDF-Dienstprogrammen, die von der Xpdf-Website bezogen werden können. Laden Sie es von derXpdf-Website. Legen Sie das bin-Verzeichnis von Xpdf im Pfad der Umgebungsvariablen fest, um von überall aus mit dem Kommandozeilenwerkzeug darauf zugreifen zu können.
Schritte zum Lesen des PDF-Dateiformats in C++
Schritt 1 Einfügen der erforderlichen Kopfzeilen
Fügen wir zunächst die erforderlichen Header-Dateien in die Datei main.cpp am Anfang ein:
Schreiben wir den C++-Code, der das Xpdf-Befehlszeilen-Tool aufruft, um Textinhalte aus dem PDF-Dokument zu extrahieren. Wir werden die folgende Datei input.pdf verwenden:
Das Codebeispiel lautet wie folgt:
// Include C library
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
int main() {
string pdfPath = "input.pdf";
string outputFilePath = "output.txt";
string command = "pdftotext " + pdfPath + " " + outputFilePath;
int status = system(command.c_str());
if (status == 0) {
cout << "Text extraction successful." << endl;
} else {
cout << "Text extraction failed." << endl;
return 1;
}
ifstream outputFile(outputFilePath);
if (outputFile.is_open()) {
string textContent;
string line;
while (getline(outputFile, line)) {
textContent += line + "\n";
}
outputFile.close();
cout << "Text content extracted from PDF document:" << endl;
cout << textContent << endl;
} else {
cout << "Failed to open output file." << endl;
return 1;
}
return 0;
}
// Include C library
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
int main() {
string pdfPath = "input.pdf";
string outputFilePath = "output.txt";
string command = "pdftotext " + pdfPath + " " + outputFilePath;
int status = system(command.c_str());
if (status == 0) {
cout << "Text extraction successful." << endl;
} else {
cout << "Text extraction failed." << endl;
return 1;
}
ifstream outputFile(outputFilePath);
if (outputFile.is_open()) {
string textContent;
string line;
while (getline(outputFile, line)) {
textContent += line + "\n";
}
outputFile.close();
cout << "Text content extracted from PDF document:" << endl;
cout << textContent << endl;
} else {
cout << "Failed to open output file." << endl;
return 1;
}
return 0;
}
C++
Code Erläuterung
Im obigen Code definieren wir die Variable "pdfPath", die den Pfad zur PDF-Eingabedatei enthält. Ersetzen Sie diese durch den entsprechenden Pfad zu Ihrem tatsächlichen PDF-Eingabedokument.
Wir definieren auch die Variable outputFilePath, um den Pfad zur Ausgabetextdatei zu speichern, die von Xpdf erzeugt wird.
Der Code führt den Befehl "pdftotext" mit der Funktion "system" aus und übergibt den Pfad der PDF-Eingabedatei und den Pfad der Ausgabetextdatei als Befehlszeilenargumente. Die Variable "status" erfasst den Exit-Status des Befehls.
Wenn pdftotext erfolgreich ausgeführt wird(angezeigt durch einen Status von 0)öffnen wir die Ausgabetextdatei mit "ifstream". Dann lesen wir den Textinhalt zeilenweise und speichern ihn in der Zeichenkette textContent.
Schließlich geben wir den extrahierten Textinhalt aus der erzeugten Ausgabedatei auf der Konsole aus. Wenn Sie die bearbeitbare Ausgabetextdatei nicht benötigen oder Speicherplatz freigeben möchten, löschen Sie sie am Ende des Programms einfach mit dem folgenden Befehl, bevor Sie die Hauptfunktion beenden:
remove(outputFilePath.c_str());
remove(outputFilePath.c_str());
C++
Schritt 3 Kompilieren und Ausführen des Programms
Kompilieren Sie den C++-Code und führen Sie die ausführbare Datei aus. Wenn pdftotext zum Systempfad der Umgebungsvariablen hinzugefügt wird, wird der Befehl erfolgreich ausgeführt. Das Programm erzeugt die Ausgabetextdatei und extrahiert Textinhalte aus dem PDF-Dokument. Der extrahierte Text wird dann in der Konsole angezeigt.
Die Ausgabe sieht folgendermaßen aus
PDF-Dateien in C# lesen;
IronPDF-Bibliothek
IronPDF C# Bibliothek Übersicht ist eine beliebte C# PDF-Bibliothek, die leistungsstarke Funktionen für die Arbeit mit PDF-Dokumenten bietet. Es ermöglicht Entwicklern, PDF-Dateien programmatisch zu erstellen, zu bearbeiten, zu ändern und zu lesen.
Das Lesen von PDF-Dokumenten mit der IronPDF-Bibliothek ist ein unkomplizierter Prozess. Die Bibliothek bietet verschiedene Methoden und Eigenschaften, mit denen Entwickler Text, Bilder, Metadaten und andere Daten aus PDF-Seiten extrahieren können. Die extrahierten Informationen können für die weitere Verarbeitung, Analyse oder Anzeige innerhalb der Anwendung verwendet werden.
// Rendering PDF documents to Images or Thumbnails
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Extracting Image and Text content from Pdf Documents
// open a 128 bit encrypted PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get all text to put in a search index
string text = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the precise text and images for each page in the document
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
text = pdf.ExtractTextFromPage(index);
List<AnyBitmap> images = pdf.ExtractBitmapsFromPage(index);
//...
}
// Rendering PDF documents to Images or Thumbnails
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Extracting Image and Text content from Pdf Documents
// open a 128 bit encrypted PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get all text to put in a search index
string text = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the precise text and images for each page in the document
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
text = pdf.ExtractTextFromPage(index);
List<AnyBitmap> images = pdf.ExtractBitmapsFromPage(index);
//...
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Ausführlichere Informationen zum Lesen von PDF-Dokumenten finden Sie auf der WebsiteIronPDF C# PDF-Leseanleitung.
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man den Inhalt eines PDF-Dokuments in C++ mit dem Befehlszeilen-Tool Xpdf liest. Durch die Integration von Xpdf in ein C++-Programm können wir innerhalb einer Sekunde programmatisch Textinhalte aus PDF-Dateien extrahieren. Dieser Ansatz ermöglicht es uns, den extrahierten Text innerhalb unserer C++-Anwendungen zu verarbeiten und zu analysieren.
IronPDF erkunden ist eine leistungsstarke C#-Bibliothek, die das Lesen und Bearbeiten von PDF-Dateien erleichtert. Die umfangreichen Funktionen, die Benutzerfreundlichkeit und die zuverlässige Rendering-Engine machen es zu einer beliebten Wahl für Entwickler, die mit PDF-Dokumenten in ihren C#-Projekten arbeiten.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.