Allgemeine Einführung
PDF-Extract-Kit ist ein Open-Source-Projekt, das vom OpenDataLab-Team entwickelt wurde und sich auf die effiziente Extraktion von hochwertigen Inhalten aus komplexen und vielfältigen PDF-Dokumenten konzentriert. Es integriert fortschrittliche Dokumenten-Parsing-Technologie, Unterstützung für Layout-Erkennung, Formel-Erkennung, Tabellen-Extraktion und OCR und andere Funktionen, anwendbar auf akademische Papiere, Forschungsberichte, Finanzdokumente und andere Szenarien. PDF-Extract-Kit bietet umfassende Evaluierungs-Benchmarks, um den Benutzern bei der Auswahl des am besten geeigneten Modells zu helfen, während es ständig aktualisiert und optimiert wird, wie z.B. die kürzliche Hinzufügung der schnelleren DocLayout-YOLO und StructTable -InternVL2-1B. Sowohl Entwickler als auch Forscher können damit eine effiziente Extraktion von Dokumenteninhalten erreichen.
Funktionsliste
- Layout-ErkennungErkennen von Seitenlayouts in PDF, einschließlich Bereichen wie Überschriften, Absätzen, Bildern und Tabellen, mit Unterstützung für effiziente Modelle wie DocLayout-YOLO.
- FormelerkennungExtrahiert und parst mathematische Formeln aus Dokumenten und konvertiert sie in das LaTeX-Format, wobei es sich auf fortschrittliche Technologien wie UniMERNet stützt.
- Formular-ExtraktionUnterstützt die Erkennung und Extraktion komplexer Tabelleninhalte, mit Ausgabe in den Formaten LaTeX, HTML und Markdown.
- OCR-VerarbeitungKonvertierung von Text aus gescannten Dokumenten oder Bildern in bearbeitbaren Text durch Technologien wie PaddleOCR.
- Modulare KonfigurationBietet flexible Profile, mit denen Benutzer verschiedene Modelle kombinieren und schnell Anwendungen erstellen können.
- Inhaltliche BewertungDiverse eingebaute PDF-Parsing-Benchmarks, die den Benutzern helfen, die Effektivität verschiedener Modelle zu bewerten.
- Bild- und TextextraktionUnterstützung für die Extraktion von Bildern aus PDFs und die Erkennung ihres Textinhalts.
Hilfe verwenden
Ablauf der Installation
PDF-Extract-Kit wird auf mehreren Betriebssystemen unterstützt (z.B. Ubuntu, Windows oder macOS), hier sind die detaillierten Installationsschritte (z.B. Ubuntu 20.04):
1. die Vorbereitung der Umwelt
- Stellen Sie sicher, dass Python 3.10 auf Ihrem System installiert ist:
sudo apt update sudo apt install python3.10 python3.10-dev python3-pip
- Erstellen und aktivieren Sie eine virtuelle Umgebung:
conda create -n pdf-extract-kit python=3.10 conda activate pdf-extract-kit
2. die Installation von Abhängigkeiten
- Klonen Sie das Code-Repository:
git clone https://github.com/opendatalab/PDF-Extract-Kit.git cd PDF-Extract-Kit
- Kernabhängigkeiten installieren (verfügbar, wenn keine GPU)
anforderungen-cpu.txt
):pip install -r anforderungen.txt
zur Kenntnis nehmenWenn Sie auf
doclayout-yolo
Die Installation ist fehlgeschlagen, Sie können es manuell installieren:pip3 install doclayout-yolo==0.0.2 --extra-index-url=https://pypi.org/simple
3. das Herunterladen von Modellgewichten
- Die Modelldateien können aus dem offiziellen Tutorial heruntergeladen werden (vollständiger oder teilweiser Download wird unterstützt):
- Automatisierte Downloads mit Python-Skripten:
python skripte/download_models_hf.py
- Oder laden Sie es manuell von Hugging Face herunter:
git lfs install git clone https://huggingface.co/opendatalab/PDF-Extract-Kit-1.0
- Automatisierte Downloads mit Python-Skripten:
- Nachdem der Download abgeschlossen ist, legen Sie die Modelldatei im angegebenen Pfad im Projektverzeichnis ab (siehe Abschnitt
configs/model_configs.yaml
).
4. die Überprüfung der Installation
- Führen Sie das Beispielskript aus, um zu testen, ob die Umgebung funktioniert:
python pdf_extract.py --pdf assets/examples/example.pdf
Die Ausgabe wird in der Datei
Ausgänge
Ordner.
Funktion Betriebsablauf
Layout-Erkennung
- Vorbereiten von PDF-Dateien: Legen Sie das zu verarbeitende PDF in das Projektverzeichnis (z.B.
assets/examples/
). - Laufende Layout-Inspektion::
- Änderungen
configs/layout_detection.yaml
Der Eingabepfad in derpdf_path: "assets/examples/example.pdf" output_dir: "outputs/layout_detection"
- Führen Sie den Befehl aus:
python scripts/layout_detection.py --config=configs/layout_detection.yaml
- Änderungen
- Ergebnisse anzeigen: in
outputs/layout_detection
und erzeugt Bilder und JSON-Dateien mit den beschrifteten Layoutbereichen.
Formelerkennung
- Formelextraktion ausführen::
- Verwenden Sie die Standardkonfiguration:
python pdf_extract.py --pdf ihre_datei.pdf --render
--render
wird die Formel zur einfachen Überprüfung als Bild dargestellt.
- Verwenden Sie die Standardkonfiguration:
- Ansicht AusgabeFormeln werden in der JSON-Ausgabe im LaTeX-Format gespeichert und können direkt in akademischen Arbeiten oder zur Weiterverarbeitung verwendet werden.
Formular-Extraktion
- Identifizierung des Ausführungsformulars::
- Sicherstellen, dass es heruntergeladen ist
Struktur-Tabelle-InternVL2-1B
Modelle. - Führen Sie die vollständige Extraktion durch:
python pdf_extract.py --pdf ihre_datei.pdf
- Sicherstellen, dass es heruntergeladen ist
- Auswahl des Ausgabeformats::
- Ändern Sie die Konfigurationsdatei
configs/model_configs.yaml
Einstellungentabellen_format
wegenLatex
, undhtml
vielleichtAbschlag
.
- Ändern Sie die Konfigurationsdatei
- Ergebnisse AnsichtDer Inhalt des Formulars wird im angegebenen Format im Ausgabeverzeichnis gespeichert.
OCR-Verarbeitung
- Verarbeitung gescannter PDFs::
- Stellen Sie bei grafischen PDFs sicher, dass OCR aktiviert ist:
python pdf_extract.py --pdf scan_file.pdf --vis
--vis
Die Parameter erzeugen Visualisierungsergebnisse, die Bereiche des erkannten Textes mit Anmerkungen versehen.
- Stellen Sie bei grafischen PDFs sicher, dass OCR aktiviert ist:
- Ausgabe prüfenDer Textinhalt wird in einem bearbeitbaren Format gespeichert, und die Ergebnisse der Bild-Text-Erkennung sind auf einen Blick zu erkennen.
Featured Function Bedienung
Modulare Konfiguration
- Compiler
configs/model_configs.yaml
stellen Sie die Parameter ein:bild_größe
Bildauflösung.conf_thres
Konfidenzschwellen.Gerät
: Auswahlcuda
(GPU) odercpu (Computer)
.
- Beispiel:
model_args. img_size: 1024 conf_thres: 0.5 Gerät: "cuda"
Optimierung der Leistung
- Die Stapelverarbeitung kann für Geräte mit hoher Kapazität (≥16 GB Videospeicher) aktiviert werden:
python pdf_extract.py --pdf ihre_datei.pdf --batch-size 128
- Erhöhung der Parsing-Geschwindigkeit 50% oder höher, geeignet für Stapelverarbeitung.
Mehrsprachige Unterstützung
- aufstellen
lang
wegenAuto
Das OCR-Modell kann dazu verwendet werden, die Sprache des Dokuments automatisch zu erkennen und das entsprechende OCR-Modell auszuwählen:ocr_args. lang: "auto"
caveat
- Hardware-Voraussetzung: GPUs (z. B. NVIDIA-Grafikkarten) können die Verarbeitungsgeschwindigkeit drastisch erhöhen und sollten über ≥8 GB Videospeicher verfügen.
- allgemeine Probleme::
- Wenn Sie aufgefordert werden, eine fehlende
cv2
Laufenpip install opencv-python
. - Wenn der Download des Modells unvollständig ist, überprüfen Sie das Netzwerk oder ändern Sie die Download-Methode.
- Wenn Sie aufgefordert werden, eine fehlende
- Unterstützung der GemeinschaftWenn Sie Fragen haben, stellen Sie diese in den Diskussions- oder Problemboards von GitHub.
Anhand der oben genannten Schritte können Benutzer einfach mit PDF-Extract-Kit beginnen und die Extraktion komplexer PDF-Inhalte effizient abschließen.