Introdução geral
O MarkPDFDown é uma ferramenta de código aberto. Ela usa o modelo multimodal de big language para converter arquivos PDF em formato Markdown. O desenvolvedor é o usuário do GitHub jorben. O objetivo dessa ferramenta é simples: tornar os documentos PDF mais fáceis de editar e compartilhar. Ela reconhece títulos, listas, tabelas e outras estruturas em um documento e produz um arquivo Markdown bem formatado. O projeto foi escrito em Python e é adequado para usuários que precisam processar arquivos PDF e convertê-los em formato de texto. A versão atual precisa contar com a API da OpenAI; os usuários precisam preparar sua própria chave de API. O código-fonte aberto do markPDFDown está no GitHub e é bem-vindo a participar do aprimoramento.
Lista de funções
- Converta arquivos PDF para o formato Markdown, preservando a estrutura do documento.
- Suporte para o reconhecimento de títulos, parágrafos, listas, tabelas e outros elementos.
- Entenda o conteúdo do PDF por meio de macromodelagem multimodal para garantir resultados de conversão precisos.
- Fornece operações de linha de comando, suporte para processamento em lote de arquivos PDF.
- De código aberto e gratuito, os usuários podem personalizar o código.
Usando a Ajuda
O MarkPDFDown é uma ferramenta de linha de comando que requer a instalação e a configuração do ambiente em seu computador para que possa ser usada. Abaixo estão as etapas detalhadas de instalação e operação, adequadas para usuários novatos que também podem começar a usá-la facilmente.
Processo de instalação
- Preparação do ambiente
Você precisará de um computador com Python 3.9. Caso contrário, baixe e instale o Python primeiro.
Abra um terminal e digite o seguinte comando para criar um ambiente virtual:
conda create -n markpdfdown python=3.9
Em seguida, ative o ambiente:
conda activate markpdfdown
- Código de download
Clone o repositório GitHub do MarkPDFDown digitando o comando no terminal:
git clone https://github.com/jorben/markpdfdown.git
Vá para a pasta do projeto:
cd markpdfdown
- Instalação de dependências
O projeto requer algum suporte à biblioteca Python. Execute o seguinte comando para instalá-las:
pip install -r requirements.txt
- Configuração de chaves de API
O MarkPDFDown usa o modelo multimodal da OpenAI e requer uma chave de API. Vá primeiro ao site da OpenAI para registrar uma conta e obter a chave.
Defina a chave no terminal:
export OPENAI_API_KEY=<你的API密钥>
Se quiser alterar o modelo ou o endereço da API, você poderá defini-lo novamente:
export OPENAI_DEFAULT_MODEL=<你的模型名>
export OPENAI_API_BASE=<你的API地址>
- Verificar a instalação
importaçãopython main.py --help
Se uma mensagem de ajuda for exibida, a instalação foi bem-sucedida.
Como usar
Após a instalação, a operação do MarkPDFDown é muito simples e é feita principalmente por meio da linha de comando. Veja a seguir as etapas específicas.
Converta arquivos PDF inteiros
Suponha que você tenha um arquivo PDF como tests/input.pdf
Se você quiser convertê-lo em um arquivo Markdown output.md
. Digite no terminal:
python main.py < tests/input.pdf > output.md
Depois de executar ooutput.md
Ele aparecerá na pasta atual com o conteúdo Markdown convertido.
Converter páginas específicas de um PDF
Se você quiser converter apenas determinadas páginas, como as páginas 2 a 5, digite:
python main.py 2 5 < tests/input.pdf > output.md
O primeiro número é a página inicial e o segundo é a página final. Os números de página são contados a partir de 1.
Execução com o Docker
Não quer instalar um ambiente Python? Certifique-se de ter o Docker em seu computador e execute-o:
docker run -i -e OPENAI_API_KEY=<你的API密钥> jorben/markpdfdown < tests/input.pdf > output.md
Isso converte o arquivo diretamente por meio do contêiner do Docker.
Funções
- Funções básicas: PDF para Markdown
Arraste o arquivo PDF para a janela da linha de comando ou insira diretamente o caminho do arquivo; a ferramenta analisará automaticamente o conteúdo. O título se tornará#
e##
etc., a lista é composta por-
é representado pela tabela, e a tabela é gerada no formato de tabela Markdown.
Por exemplo, um PDF com o título "Introdução" e o corpo "Este é o conteúdo" pode ser convertido:
# 简介
这是内容
- arquivo de lote
Se houver muitos arquivos PDF, você pode escrever um script para chamar o comando em um loop. Por exemplo, no Linux:
for file in *.pdf; do python main.py < "$file" > "${file%.pdf}.md"; done
- Depuração e aprimoramento
Os resultados da conversão não são satisfatórios? Faça uma pergunta no GitHub ou altere o código você mesmo. O projeto foi escrito em Python, e a lógica está toda no diretóriomain.py
Milha.
advertência
- O caminho do arquivo não deve ter caracteres chineses, caso contrário, poderá ser relatado um erro.
- A chave da API deve ser mantida em segredo e não deve ser divulgada a outras pessoas.
- Arquivos grandes podem levar mais tempo para serem processados, garantindo uma rede estável.
cenário do aplicativo
- pesquisa acadêmica
Os alunos ou pesquisadores geralmente precisam converter o PDF de sua dissertação em Markdown para facilitar a tomada de notas ou o compartilhamento. O MarkPDFDown preserva a estrutura da dissertação, como títulos e tabelas, para edição direta em Markdown. - Documentação
As empresas têm muitas instruções ou relatórios em PDF que desejam converter em arquivos Markdown. Você pode usar essa ferramenta para convertê-los em lote e depois carregá-los no GitHub ou no Notion. - Redação técnica
Ao escrever blogs técnicos, você precisa citar materiais em PDF. Converta-o diretamente e cole-o em seu editor Markdown, poupando-lhe o trabalho de ter que classificá-lo manualmente.
QA
- Preciso fazer networking?
Sim. A ferramenta depende da API da OpenAI e deve estar conectada em rede para funcionar. - Ele é compatível com PDF em chinês?
Suporte. Desde que o PDF esteja em formato de texto (não uma imagem digitalizada), o conteúdo em chinês pode ser convertido corretamente. - E se houver um erro de conversão?
Verifique se a chave da API está correta ou se o arquivo PDF está corrompido. Se isso não funcionar, vá para o GitHub e abra um problema. - Posso usá-lo off-line?
No momento, não. Pode haver suporte para modelos locais no futuro, mas, por enquanto, o serviço terá que ser da OpenAI.