Allgemeine Einführung
Zerox ist ein Open-Source-Projekt zur Konvertierung von PDF, DOCX, Bildern und anderen Dokumenten in das Markdown-Format durch visuelle Modelle. Das Projekt wird von getomni-ai Team entwickelt, bietet eine einfache und effiziente OCR (Optical Character Recognition) Lösung. zerox unterstützt Node und Python zwei Programmiersprachen, die Verwendung von graphicsmagick und ghostscript für PDF zu Bildverarbeitung. Benutzer können Dokumente schnell in das Markdown-Format konvertieren, indem sie den Dateipfad und den OpenAI-API-Schlüssel für eine Vielzahl von Dokumenten mit komplexen Layouts, wie Tabellen und Diagrammen, angeben.
Funktionsliste
- Unterstützung der Konvertierung von PDF, DOCX, Bildern und anderen Dateiformaten
- Bietet Unterstützung für die Programmiersprachen Node und Python
- Effiziente OCR-Verarbeitung mit visuellen Modellen
- Installiert automatisch graphicsmagick und ghostscript für die PDF-zu-Bild-Verarbeitung.
- Unterstützt sowohl Dateipfad- als auch URL-Eingabe
- Bieten Sie eine Vielzahl optionaler Parameter an, z. B. Gleichzeitigkeitsverarbeitung, Korrektur der Seitenausrichtung, Fehlerbehandlungsmodus usw.
- Unterstützung für Vorverarbeitungs- und Nachverarbeitungs-Callback-Funktionen
- Option zum Speichern der Konvertierungsergebnisse in einem bestimmten Verzeichnis
Hilfe verwenden
Ablauf der Installation
Version des Knotens
- Installation von Node.js und npm
- Befehl ausführen
npm install zerox
- Vergewissern Sie sich, dass graphicsmagick und ghostscript auf Ihrem System installiert sind; falls nicht, führen Sie den folgenden Befehl aus:
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
Python-Version
- Python und pip installieren
- Befehl ausführen
pip install zerox
- Vergewissern Sie sich, dass graphicsmagick und ghostscript auf Ihrem System installiert sind; falls nicht, führen Sie den folgenden Befehl aus:
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
Verwendung
Version des Knotens
- Importieren Sie das Zerox-Modul:
import { zerox } from "zerox".
- Verwenden Sie den Dateipfad für die Konvertierung:
const result = await zerox({
filePath: "pfad/zu/datei.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
- Verwenden Sie die URL für die Konvertierung:
const result = await zerox({
filePath: "https://example.com/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
Python-Version
- Importieren Sie das Zerox-Modul:
von zerox importieren zerox
- Verwenden Sie den Dateipfad für die Konvertierung:
Ergebnis = zerox(
file_path="pfad/zu/datei.pdf",
openai_api_key="ihr_openai_api_key"
)
- Verwenden Sie die URL für die Konvertierung:
Ergebnis = zerox(
file_path="https://example.com/file.pdf",
openai_api_key="ihr_openai_api_key"
)
Hauptfunktionen
- DateikonvertierungDatei-Pfad oder URL angeben, die Funktion zerox zur Konvertierung aufrufen, Text im Markdown-Format zurückgeben.
- gleichzeitige Verarbeitung: Durch die Einstellung der
Gleichzeitigkeit
zur Steuerung der Anzahl der gleichzeitig verarbeiteten Seiten, um die Effizienz der Verarbeitung zu verbessern. - Korrektur der SeitenausrichtungDie Funktion zur Korrektur der Seitenausrichtung ist standardmäßig aktiviert, um die korrekte Ausrichtung des konvertierten Textes zu gewährleisten.
- Fehlerbehandlungsmodus: Optional können Fehler ignoriert oder ausgelöst werden, indem man die
errorMode
Parameter konfiguriert sind. - Vor- und NachbearbeitungsrückrufeBietet Callback-Funktionen zur Durchführung benutzerdefinierter Aktionen vor und nach der Verarbeitung jeder Seite.
- Ergebnisse speichern: Durch die Einstellung der
outputDir
Parameter, um das Konvertierungsergebnis im angegebenen Verzeichnis zu speichern.
Beispielcode (Rechnen)
Version des Knotens
import { zerox } from "zerox" ;
const result = await zerox({
filePath: "path/to/file.pdf", openaiAPIKey: process.env.OPENAI_API_KEY, process.env.
openaiAPIKey: process.env.OPENAI_API_KEY, cleanup: true, const result = await zerox({ filePath: "path/to/file.pdf", openaiAPIKey: process.env.
openaiAPIKey: process.env.OPENAI_API_KEY, cleanup: true,
cleanup: true, Gleichzeitigkeit: 10,
openaiAPIKey: process.env.OPENAI_API_KEY, Bereinigung: true, Gleichzeitigkeit: 10, correctOrientation: true,
errorMode: "IGNORE",
maintainFormat: false,
maxRetries: 1, maxTesseractWorkers: -1,
model: "gpt-4o-mini", onPostProcess: asynchron
onPostProcess: async ({ page, progressSummary }) => Promise,
onPreProcess: async ({ imagePath, pageNumber }) => Promise,
outputDir: "output",
pagesToConvertAsImages: -1,
}).
Python-Version
from zerox import zerox
ergebnis = zerox(
dateipfad="pfad/zu/datei.pdf",
openai_api_key="ihr_openai_api_key",
cleanup=True,
concurrency=10, correct_orientation=True
correct_orientation=True, error_mode="IGNORE", maintain_format=False
maintain_format=False,
max_retries=1, max_tesseract_worker
max_tesseract_workers=-1, model="gpt-4-o-min
model="gpt-4-o-mini",
on_post_process=lambda page, progress_summary: Keine,
on_pre_process=lambda image_path, page_number: Keine,
output_dir="output",
pages_to_convert_as_images=-1,
)
Wir verwenden libreoffice
im Gesang antworten Grafikmagick
Die Umwandlung von Dokumenten in Bilder erfolgt durch eine Kombination der folgenden Verfahren. Bei Nicht-Bild/Nicht-PDF-Dateien verwenden wir libreoffice, um die Datei in PDF und dann in ein Bild zu konvertieren.
[ "pdf", // Portable Document Format "doc", // Microsoft Word 97-2003 "docx", // Microsoft Word 2007-2019 "odt", // OpenDocument Text "ott", // OpenDocument Text Vorlage "rtf", // Rich Text Format "txt", // Einfacher Text "html", // HTML-Dokument "htm", // HTML-Dokument (alternative Erweiterung) "xml", // XML-Dokument "wps", // Microsoft Works Textverarbeitungsprogramm "wpd", // WordPerfect-Dokument "xls", // Microsoft Excel 97-2003 "xlsx", // Microsoft Excel 2007-2019 "ods", // OpenDocument Tabellenkalkulation "ots", // OpenDocument-Arbeitsblattvorlage "csv", // Durch Komma getrennte Werte (Comma-Separated Values) "tsv", // Tabulatorgetrennte Werte "ppt", // Microsoft PowerPoint 97-2003 "pptx", // Microsoft PowerPoint 2007-2019 "odp", // OpenDocument-Präsentation "otp", // OpenDocument-Präsentationsvorlage ];.