Como faço para converter um PDF de duas colunas em EPUB?
Atualizado:
Use um conversor que detecta as colunas antes de unir linhas em parágrafos, assim a coluna da esquerda é lida de cima para baixo e depois a direita, em vez de ler cada linha diretamente pela página. EpubCC faz isso dividindo cada página ao longo dos espaços brancos entre as colunas antes de reconstruir o texto.
Layout fixo vs. texto reflowable


Por que duas colunas ficam erradas
Um conversor ingênuo lê uma página linha por linha da esquerda para a direita, então cola a primeira linha da coluna esquerda com a primeira linha da coluna direita. O resultado são frases que alternam entre dois textos não relacionados: a falha mais comum em trabalhos acadêmicos, periódicos e no Registro Federal.
Como EpubCC lê colunas
- O mecanismo encontra as colunas de cada página a partir de sua disposição e lê uma até o fim antes da próxima.
- Um espaço largo dentro de uma única linha, como "2.1 Title", não é confundido com uma coluna.
- Cabeçalhos em execução e números de página nas margens são deixados de fora, para que nunca fiquem no meio de um parágrafo que vai de uma coluna para a próxima.
- Notas de rodapé na parte inferior de uma coluna se tornam notas vinculadas no final do capítulo, em vez de interromper o texto.
- As imagens são posicionadas como parte da região em que estão, portanto, permanecem na ordem de leitura.
- Um parágrafo que continua do fundo de uma coluna para o topo da próxima é unido novamente quando a frase continua.
Verifique o resultado
Layouts que misturam uma e duas colunas na mesma página, caixas e notas laterais são a parte difícil. Você pode converter seu próprio arquivo gratuitamente e ler o resultado, e o benchmark inclui documentos de duas colunas e um documento do Federal Register de três colunas medido quanto à continuidade.
Evidência do benchmark
| Motor | Recuperação de 8-grama |
|---|---|
| EpubCC engine (EPUB output) | 0.845 |
| EpubCC engine (plain text) | 0.829 |
| pdf_oxide · extract_text | 0.740 |
| pdf_oxide · to_plain_text (XY-cut) | 0.694 |
| pdf_oxide · Markdown | 0.692 |
| PDFium · text().all() | 0.756 |
| OpenDataLoader PDF (local mode) | 0.734 |
| pdftotext (Poppler) | 0.755 |
| Calibre · ebook-convert (EPUB output) | 0.726 |
| EpubCC engine (EPUB, same extractor as Calibre) | 0.845 |
| Documento | EpubCC engine (EPUB output) | EpubCC engine (plain text) | pdf_oxide · extract_text | pdf_oxide · to_plain_text (XY-cut) | pdf_oxide · Markdown | PDFium · text().all() | OpenDataLoader PDF (local mode) | pdftotext (Poppler) | Calibre · ebook-convert (EPUB output) | EpubCC engine (EPUB, same extractor as Calibre) |
|---|---|---|---|---|---|---|---|---|---|---|
| OLMo paper (arXiv 2402.00838) | 0.893 | 0.891 | 0.854 | 0.273 | 0.719 | 0.761 | 0.820 | 0.781 | 0.640 | 0.892 |
| Mistral 7B paper (arXiv 2310.06825) | 0.777 | 0.774 | 0.767 | 0.778 | 0.800 | 0.872 | 0.859 | 0.821 | 0.779 | 0.774 |
| Federal Register document 2026-22443 | 0.857 | 0.853 | 0.334 | 0.035 | 0.339 | 0.859 | 0.801 | 0.835 | 0.121 | 0.851 |
Corrija colunas confundidas
Até 3 livros inteiros por dia gratuitos. Conta não necessária.