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.
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ó
- Instalação do Node.js e do npm
- Executar comando
npm install zerox
- 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
- Instalar o Python e o pip
- Executar comando
pip install zerox
- 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ó
- Importe o módulo zerox:
importar { zerox } de "zerox".
- Use o caminho do arquivo para conversão:
const result = await zerox({
filePath: "path/to/file.pdf",
openaiAPIKey: process.env.OPENAI_API_KEY,
});
- 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
- Importe o módulo zerox:
from zerox import zerox
- Use o caminho do arquivo para conversão:
result = zerox(
file_path="path/to/file.pdf",
openai_api_key="sua_openai_api_key"
)
- 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
- 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.
- processamento simultâneo: Ao definir o
concorrência
para controlar o número de páginas processadas ao mesmo tempo para melhorar a eficiência do processamento. - 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.
- modo de tratamento de errosOpcionalmente, os erros podem ser ignorados ou lançados, definindo o parâmetro
errorMode
são configurados. - 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.
- Salvar resultados: Ao definir o
outputDir
para salvar o resultado da conversão no diretório especificado.
Código de amostra (computação)
Versão do nó
importar { zerox } de "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,
openaiAPIKey: process.env.
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: asynchronous
onPostProcess: assíncrono ({ page, progressSummary }) => Promise,
onPreProcess: async ({ imagePath, pageNumber }) => Promise,
outputDir: "output",
pagesToConvertAsImages: -1,
}).
Versão Python
from zerox import zerox
result = zerox(
file_path="path/to/file.pdf",
openai_api_key="sua_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-4o-mini",
on_post_process=lambda page, progress_summary: Nenhum,
on_pre_process=lambda image_path, page_number: None,
output_dir="output",
pages_to_convert_as_images=-1,
)