Zerox: PDF, DOCX, преобразование изображений в Markdown, высокоточное распознавание визуальных моделей

Общее введение

Zerox - это проект с открытым исходным кодом, предназначенный для преобразования PDF, DOCX, изображений и других документов в формат Markdown с помощью визуальных моделей. Проект разработан командой getomni-ai, предоставляет простое и эффективное решение OCR (Optical Character Recognition). zerox поддерживает Node и Python два языка программирования, использование graphicsmagick и ghostscript для обработки PDF в изображения. Пользователи могут быстро конвертировать документы в формат Markdown, указав путь к файлу и ключ OpenAI API для различных документов со сложной структурой, таких как таблицы и диаграммы.

Zerox:PDF、DOCX、图像转换为Markdown,视觉模型高精度OCR

 

Список функций

  • Поддержка преобразования PDF, DOCX, изображений и других форматов файлов
  • Обеспечивает поддержку языков программирования Node и Python
  • Эффективная обработка OCR с использованием визуальных моделей
  • Автоматически устанавливает graphicsmagick и ghostscript для обработки PDF-изображений.
  • Поддерживает ввод путей к файлам и URL-адресов
  • Предоставляет множество дополнительных параметров, таких как обработка параллелизма, коррекция ориентации страницы, режим обработки ошибок и т.д.
  • Поддержка функций обратного вызова для предварительной и последующей обработки
  • Опция сохранения результатов преобразования в указанную директорию

 

Использование помощи

Процесс установки

Версия узла

  1. Установка Node.js и npm
  2. Выполнить команду npm install zerox
  3. Убедитесь, что в вашей системе установлены graphicsmagick и ghostscript, если нет, выполните следующую команду:
   sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript

Версия Python

  1. Установите Python и pip
  2. Выполнить команду pip install zerox
  3. Убедитесь, что в вашей системе установлены graphicsmagick и ghostscript, если нет, выполните следующую команду:
   sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript

Использование

Версия узла

  1. Импортируйте модуль zerox:
   import { zerox } from "zerox";
  1. Используйте путь к файлу для преобразования:
   const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
  1. Используйте URL-адрес для преобразования:
   const result = await zerox({
filePath: "https://example.com/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});

Версия Python

  1. Импортируйте модуль zerox:
   from zerox import zerox
  1. Используйте путь к файлу для преобразования:
   result = zerox(
file_path="path/to/file.pdf",
openai_api_key="your_openai_api_key"
)
  1. Используйте URL-адрес для преобразования:
   result = zerox(
file_path="https://example.com/file.pdf",
openai_api_key="your_openai_api_key"
)

Основные функции

  1. преобразование файлов: Укажите путь к файлу или URL, вызовите функцию zerox для преобразования, верните текст в формате Markdown.
  2. одновременная обработка: При установкеconcurrencyпараметр, позволяющий контролировать количество одновременно обрабатываемых страниц для повышения эффективности обработки.
  3. Коррекция ориентации страницы: Функция коррекции ориентации страницы включена по умолчанию, чтобы обеспечить правильную ориентацию преобразованного текста.
  4. режим обработки ошибок: По желанию, ошибки можно игнорировать или отбрасывать, установив значениеerrorModeпараметры настроены.
  5. Обратные вызовы предварительной и последующей обработки: Предоставляет функции обратного вызова для выполнения пользовательских действий до и после обработки каждой страницы.
  6. Сохранить результаты: При установкеoutputDirпараметр для сохранения результата преобразования в указанный каталог.

пример кода (вычисления)

Версия узла

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,
});

Версия 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,
)

 

Мы используем libreoffice ответить пением graphicsmagick Для преобразования документов в изображения используется комбинация следующих программ. Для файлов, не содержащих изображений и не являющихся PDF, мы используем libreoffice для преобразования файла в PDF, а затем в изображение.

[
"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
];
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...