Comment convertir un PDF à deux colonnes en EPUB ?
Mis à jour :
Utilisez un convertisseur qui détecte les colonnes avant de joindre les lignes en paragraphes, de sorte que la colonne de gauche soit lue de haut en bas puis celle de droite, au lieu de lire chaque ligne de gauche à droite. EpubCC fait cela en divisant chaque page le long des espaces blancs entre les colonnes avant de reconstruire le texte.
Mise en page fixe vs. texte reflowable


Pourquoi deux colonnes posent problème
Un convertisseur naïf lit une page ligne par ligne de gauche à droite, il colle donc la première ligne de la colonne de gauche à la première ligne de la colonne de droite. Le résultat est des phrases qui alternent entre deux textes non liés : l'échec le plus commun sur les papiers académiques, les revues et le Federal Register.
Comment EpubCC lit les colonnes
- Le moteur trouve les colonnes de chaque page grâce à sa mise en page et lit une colonne jusqu'à la fin avant de passer à la suivante.
- Un large espace à l'intérieur d'une seule ligne, tel que "2.1 Title", n'est pas confondu avec une colonne.
- Les en-têtes et les numéros de page dans les marges sont omis, afin qu'ils ne se retrouvent jamais au milieu d'un paragraphe qui passe d'une colonne à l'autre.
- Les notes de bas de page au bas d'une colonne deviennent des notes liées à la fin du chapitre au lieu d'interrompre le texte.
- Les images sont placées comme partie de la région dans laquelle elles se trouvent, donc elles restent dans l'ordre de lecture.
- Un paragraphe qui continue du bas d'une colonne vers le haut de la suivante est à nouveau joint lorsque la phrase se poursuit.
Vérifiez le résultat
Les mises en page qui mélangent une et deux colonnes sur la même page, les cases et les notes de côté sont la partie difficile. Vous pouvez convertir votre propre fichier gratuitement et lire le résultat, et la référence inclut des documents en deux colonnes et un document à trois colonnes du Federal Register mesuré pour la continuité.
Éléments de preuve du benchmark
| Moteur | rappel 8-gram |
|---|---|
| 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 |
| Document | 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 |
Corrigez les colonnes mélangées.
Jusqu'à 3 livres entiers par jour gratuits. Aucun compte nécessaire.