Zerox : PDF, DOCX, conversion d'images en Markdown, modèle visuel OCR de haute précision
Introduction générale
Zerox est un projet open source conçu pour convertir des documents PDF, DOCX, des images et d'autres documents au format Markdown par le biais de modèles visuels. Le projet est développé par l'équipe getomni-ai et fournit une solution OCR (Optical Character Recognition) simple et efficace. zerox supporte les langages de programmation Node et Python, l'utilisation de graphicsmagick et ghostscript pour le traitement des PDF vers les images. Les utilisateurs peuvent rapidement convertir des documents au format Markdown en fournissant le chemin d'accès au fichier et la clé API OpenAI pour une variété de documents avec des mises en page complexes, telles que des tableaux et des graphiques.

Liste des fonctions
- Prise en charge de la conversion des fichiers PDF, DOCX, des images et d'autres formats de fichiers
- Prise en charge des langages de programmation Node et Python
- Traitement efficace de l'OCR à l'aide de modèles visuels
- Installe automatiquement graphicsmagick et ghostscript pour le traitement des PDF en images.
- Prise en charge du chemin d'accès au fichier et de l'entrée de l'URL
- Fournir une variété de paramètres optionnels, tels que le traitement de la concurrence, la correction de l'orientation de la page, le mode de traitement des erreurs, etc.
- Prise en charge des fonctions de rappel avant et après traitement
- Possibilité d'enregistrer les résultats de la conversion dans un répertoire spécifié
Utiliser l'aide
Processus d'installation
Version du nœud
- Installation de Node.js et de npm
- Exécuter la commande
npm install zerox
- Assurez-vous que graphicsmagick et ghostscript sont installés sur votre système. Si ce n'est pas le cas, exécutez la commande suivante :
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
Version Python
- Installer Python et pip
- Exécuter la commande
pip install zerox
- Assurez-vous que graphicsmagick et ghostscript sont installés sur votre système. Si ce n'est pas le cas, exécutez la commande suivante :
sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript
Utilisation
Version du nœud
- Importer le module zerox :
import { zerox } from "zerox";
- Utiliser le chemin d'accès au fichier pour la conversion :
const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
- Utiliser l'URL pour la conversion :
const result = await zerox({
filePath: "https://example.com/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
Version Python
- Importer le module zerox :
from zerox import zerox
- Utiliser le chemin d'accès au fichier pour la conversion :
result = zerox(
file_path="path/to/file.pdf",
openai_api_key="your_openai_api_key"
)
- Utiliser l'URL pour la conversion :
result = zerox(
file_path="https://example.com/file.pdf",
openai_api_key="your_openai_api_key"
)
Principales fonctions
- conversion de fichiers: Fournir le chemin d'accès au fichier ou l'URL, appeler la fonction zerox pour convertir, renvoyer le texte au format Markdown.
- traitement simultanéEn réglant l'option
concurrency
pour contrôler le nombre de pages traitées en même temps afin d'améliorer l'efficacité du traitement. - Correction de l'orientation de la pageLa correction de l'orientation de la page est activée par défaut pour garantir l'orientation correcte du texte converti.
- mode de traitement des erreurs: En option, les erreurs peuvent être ignorées ou jetées, en définissant l'attribut
errorMode
sont configurés. - Rappels de pré- et post-traitementLe système de gestion des pages : fournit des fonctions de rappel permettant d'effectuer des actions personnalisées avant et après le traitement de chaque page.
- Enregistrer les résultatsEn réglant l'option
outputDir
pour enregistrer le résultat de la conversion dans le répertoire spécifié.
exemple de code (informatique)
Version du nœud
import { zerox } from "zerox";
const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
cleanup: true,
concurrency: 10,
correctOrientation: true,
errorMode: "IGNORE",
maintainFormat: false,
maxRetries: 1,
maxTesseractWorkers: -1,
model: "gpt-4o-mini",
onPostProcess: async ({ page, progressSummary }) => Promise<void>,
onPreProcess: async ({ imagePath, pageNumber }) => Promise<void>,
outputDir: "output",
pagesToConvertAsImages: -1,
});
Version Python
from zerox import zerox
result = zerox(
file_path="path/to/file.pdf",
openai_api_key="your_openai_api_key",
cleanup=True,
concurrency=10,
correct_orientation=True,
error_mode="IGNORE",
maintain_format=False,
max_retries=1,
max_tesseract_workers=-1,
model="gpt-4o-mini",
on_post_process=lambda page, progress_summary: None,
on_pre_process=lambda image_path, page_number: None,
output_dir="output",
pages_to_convert_as_images=-1,
)
Nous utilisons libreoffice
répondre en chantant graphicsmagick
pour la conversion de documents en images. Pour les fichiers non image/non-PDF, nous utilisons libreoffice pour convertir le fichier en PDF puis en image.
[ "pdf", // Portable Document Format "doc", // Microsoft Word 97-2003 "docx", // Microsoft Word 2007-2019 "odt", // OpenDocument Text "ott", // OpenDocument Text Template "rtf", // Rich Text Format "txt", // Plain Text "html", // HTML Document "htm", // HTML Document (alternative extension) "xml", // XML Document "wps", // Microsoft Works Word Processor "wpd", // WordPerfect Document "xls", // Microsoft Excel 97-2003 "xlsx", // Microsoft Excel 2007-2019 "ods", // OpenDocument Spreadsheet "ots", // OpenDocument Spreadsheet Template "csv", // Comma-Separated Values "tsv", // Tab-Separated Values "ppt", // Microsoft PowerPoint 97-2003 "pptx", // Microsoft PowerPoint 2007-2019 "odp", // OpenDocument Presentation "otp", // OpenDocument Presentation Template ];
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...