Por que as palavras são divididas por hífens após converter um PDF?
Atualizado:
Palavras aparecem divididas como "conver- sion" porque o PDF as hifenizou no final de uma linha impressa e o conversor copiou a quebra de linha e o hífen como estavam. Um conversor deve reunir essas palavras enquanto mantém compostos reais hifenizados, como "well-known" intactos.
Layout fixo vs. texto reflowable


De onde vem o hífen
Software de composição tipográfica divide palavras longas no final da linha para manter a margem direita uniforme. No PDF essa divisão está congelada: a primeira metade termina uma linha com um hífen e a segunda metade começa a próxima. Em um e-reader, as linhas são diferentes, então o hífen acaba no meio de uma linha.
Alguns PDFs marcam esse hífen como um hífen suave, que quebra linha apenas; outros o armazenam como um caractere de hífen comum, razão pela qual ferramentas simples não conseguem distinguir entre os dois.
Como EpubCC os reencontra
- Quando o PDF mesmo sinaliza o hífen como um hífen de final de linha, as duas metades são unidas.
- Quando uma linha termina em "-" e a próxima linha começa com uma letra minúscula, a palavra também é unida.
- Um hífen seguido de uma letra maiúscula ou um número é mantido, o que protege nomes e intervalos.
- O EPUB é então hifenizado novamente pelo leitor eletrônico para adequá-lo ao seu próprio comprimento de linha, se você ativar a hifenização.
O que ainda pode dar errado
A real compound broken exactly at its own hyphen at the end of a line ("state-" / "of-the-art") looks the same as a hyphenated word, so it can be joined as "stateof-the-art". The benchmark counts split and merged words per 1,000 for every engine, so you can see how often this happens on real documents.
Evidência do benchmark
| Motor | Split words / 1,000 |
|---|---|
| EpubCC engine (EPUB output) | 0.789 |
| EpubCC engine (plain text) | 1.818 |
| pdf_oxide · extract_text | 1.464 |
| pdf_oxide · to_plain_text (XY-cut) | 1.760 |
| pdf_oxide · Markdown | 3.638 |
| PDFium · text().all() | 2.879 |
| OpenDataLoader PDF (local mode) | 0.373 |
| pdftotext (Poppler) | 1.040 |
| Calibre · ebook-convert (EPUB output) | 2.629 |
| EpubCC engine (EPUB, same extractor as Calibre) | 0.789 |
Corrija parágrafos e palavras quebrados
Até 3 livros inteiros por dia gratuitos. Conta não necessária.