Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

Zerox: PDF, DOCX, conversão de imagem para Markdown, OCR de alta precisão de modelo visual

Introdução geral

O Zerox é um projeto de código aberto desenvolvido para converter PDF, DOCX, imagens e outros documentos para o formato Markdown por meio de modelos visuais. O projeto foi desenvolvido pela equipe da getomni-ai e oferece uma solução simples e eficiente de OCR (reconhecimento óptico de caracteres). O zerox é compatível com as duas linguagens de programação Node e Python, com o uso do graphicsmagick e do ghostscript para o processamento de PDF para imagem. Os usuários podem converter rapidamente documentos para o formato Markdown, fornecendo o caminho do arquivo e a chave da API OpenAI para uma variedade de documentos com layouts complexos, como tabelas e gráficos.

Zerox:将PDFDOCX、图像转换为Markdown,使用视觉模型实现高效OCR-1


 

Lista de funções

  • Suporte à conversão de PDF, DOCX, imagens e outros formatos de arquivo
  • Oferece suporte para as linguagens de programação Node e Python
  • Processamento eficiente de OCR usando modelos visuais
  • Instala automaticamente o graphicsmagick e o ghostscript para processamento de PDF para imagem.
  • Suporta a entrada de caminho de arquivo e URL
  • Fornece uma variedade de parâmetros opcionais, como processamento de simultaneidade, correção de orientação de página, modo de tratamento de erros, etc.
  • Suporte para funções de retorno de chamada de pré-processamento e pós-processamento
  • Opção para salvar os resultados da conversão em um diretório específico

 

Usando a Ajuda

Processo de instalação

Versão do nó

  1. Instalação do Node.js e do npm
  2. Executar comando npm install zerox
  3. Certifique-se de que o graphicsmagick e o ghostscript estejam instalados em seu sistema; caso contrário, execute o seguinte comando:
   sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript

Versão Python

  1. Instalar o Python e o pip
  2. Executar comando pip install zerox
  3. Certifique-se de que o graphicsmagick e o ghostscript estejam instalados em seu sistema; caso contrário, execute o seguinte comando:
   sudo apt-get update
sudo apt-get install -y graphicsmagick ghostscript

Uso

Versão do nó

  1. Importe o módulo zerox:
   import { zerox } from "zerox";
  1. Use o caminho do arquivo para conversão:
   const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
  1. Use o URL para conversão:
   const result = await zerox({
filePath: "https://example.com/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});

Versão Python

  1. Importe o módulo zerox:
   from zerox import zerox
  1. Use o caminho do arquivo para conversão:
   result = zerox(
file_path="path/to/file.pdf",
openai_api_key="your_openai_api_key"
)
  1. Use o URL para conversão:
   result = zerox(
file_path="https://example.com/file.pdf",
openai_api_key="your_openai_api_key"
)

Funções principais

  1. conversão de arquivosMarkdown: forneça o caminho ou o URL do arquivo, chame a função zerox para converter e retorne o texto no formato Markdown.
  2. processamento simultâneo: Ao definir oconcurrencypara controlar o número de páginas processadas ao mesmo tempo para melhorar a eficiência do processamento.
  3. Correção da orientação da páginaCorreção da orientação da página: O recurso de correção da orientação da página é ativado por padrão para garantir a orientação correta do texto convertido.
  4. modo de tratamento de errosOpcionalmente, os erros podem ser ignorados ou lançados, definindo o parâmetroerrorModesão configurados.
  5. Callbacks de pré e pós-processamentoFunções de retorno de chamada: fornece funções de retorno de chamada para executar ações personalizadas antes e depois do processamento de cada página.
  6. Salvar resultados: Ao definir ooutputDirpara salvar o resultado da conversão no diretório especificado.

Código de amostra (computação)

Versão do nó

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

Versão 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,
)

 

Usamos libreoffice responder cantando graphicsmagick A conversão de documentos em imagens é feita usando uma combinação dos seguintes métodos. Para arquivos que não são de imagem/não são de PDF, usamos o libreoffice para converter o arquivo em PDF e depois em imagem.

[
"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
];
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Zerox: PDF, DOCX, conversão de imagem para Markdown, OCR de alta precisão de modelo visual
pt_BRPortuguês do Brasil