Come trasformare un libro PDF in un e-book EPUB o MOBI
Inglese originale: How to manually convert from PDF to EPUB or MOBI
Se vuoi trasformare un libro pdf in un e-book EPUB da leggere sul tuo dispositivo e-reader, ecco come farlo. Userò un computer Linux, ma la maggior parte delle applicazioni che userò esistono anche su Mac e Windows.
Questo è il metodo che ho usato per editare il libro di Magnus Hirshfeld.
Conversione automatica
Per alcuni e-book potrebbe essere sufficiente una conversione automatica. Usando Calibre , o la sua utility a riga di comando ebook-convert, puoi facilmente convertire alcuni tipi di libri pdf nel formato e-book.
Calibre è un’applicazione per la gestione di e-book che include un visualizzatore di e-book, un software di editing EPUB e la conversione di e-book. Puoi scaricare Calibre qui , ma l’ho semplicemente installato con
sudo apt install calibre
In calibre, per convertire un e-book, devi solo importarlo, selezionando l'opzione apri con calibre e fare clic sul pulsante "converti". Puoi anche convertire gli e-book dalla riga di comando con e-book-convert, con la seguente sintassi.
Usage: e-book-convert input_file output_file [options]
Questo di solito non ha funzionato per me e l'EPUB risultante era solo una serie di immagini.
Conversione manuale
Supponiamo che tu abbia una scansione delle pagine del libro e desideri convertirlo in un formato EPUB o MOBI. Innanzitutto, dovresti controllare se il PDF ha testo evidenziabile e selezionabile. In tal caso, puoi passare direttamente alla parte successiva.
Usa l'OCR sul tuo PDF
Puoi generare testo selezionabile nel tuo PDF con l’OCR (Optical Character Recognition), usando uno strumento Python chiamato OCRmyPDF . Ecco la guida all'installazione .
Quindi puoi chiamarlo dalla riga di comando con:
ocrmypdf input_pdf_or_image output_pdf
Questo processo richiederà del tempo. Un modo per migliorare l'OCR è specificare la lingua del documento.
ocr-my-pdf myfile.pdf myfile1.pdf -l eng
Se Tesseract non è installato sul tuo computer, ecco come installarlo . Se la lingua del tuo e-book PDF non è ancora installata, in Linux, puoi installarla con
sudo apt install tesseract-ocr-[lang]
dove [lang]può essere 'all' o un codice ISO 639-2 di 3 cifre per la lingua che si desidera installare, ad esempio itaper l'italiano e engper l'inglese.
Se tutto ha funzionato, dovresti avere un file PDF evidenziabile.
Estrai il testo dal file
Per estrarre il testo dal file, sto usando un'utilità chiamata pdf-to-text , che estrarrà solo il contenuto del testo dal file pdf. Puoi anche trovare convertitori da PDF a testo online. Può essere installato con
pip install pdftotext
E può essere chiamato con la seguente sintassi:
Usage: pdftotext [options] <PDF-file> [<text-file>]
Quindi, per convertire il mio e-book pdf in un file di testo markdown, chiamerò:
pdftotext myfile1.pdf myfile.md
Sto salvando il file come file markdown , con estensione .md. Questo mi permetterà di inserire intestazioni, elenchi e inserire immagini nel file. Ora abbiamo i contenuti molto grezzi del libro. È ora di formattarlo e correggerlo.
La sintassi Markdown è molto facile e veloce da imparare. Dopo aver modificato questo file di testo, lo convertiremo nel formato EPUB utilizzando Calibre o pandoc.
Il montaggio vero e proprio
Userò l' editor Vim , ma puoi usare qualsiasi editor di testo che supporti le espressioni regolari e il controllo ortografico, come l' editor di testo gedit o l'applicazione note standard sul tuo computer.
In Vim, la sostituzione funziona così:
:%s/old/new/gc
I due punti indicano che stai scrivendo un comando. %è sostituire su ogni riga. old è l'espressione regolare che vuoi sostituire, new è l'espressione regolare con cui vuoi sostituire. gsignifica che vuoi sostituire ogni occorrenza dell'espressione regolare sulla riga. csignifica che vuoi essere interrogato prima di effettuare la sostituzione.
Condividerò le espressioni regolari che sto usando per risolvere problemi comuni che ho trovato, ma puoi creare le tue espressioni regolari. Per fare ciò, consiglio vivamente di utilizzare regexr.com . Come vedrai, in Vim dovrai eseguire l'escape di alcuni caratteri, come "(" e "+", che di solito non sono evasi nelle espressioni regolari. Ecco una guida sulle espressioni regolari in Vim .
Espressioni regolari più utili
Per una spiegazione dettagliata di ogni espressione regolare, copiala e incollala in regexr.com . Prima di utilizzarli, dovresti decidere se preferisci che i tuoi paragrafi siano separati da una singola riga o da doppie righe. Questo sarà importante nel processo di conversione. In Calibre potrai scegliere, ma in Pandoc i paragrafi sono separati da una riga vuota.
Rimuovi lo spazio tra i paragrafi:
:%s/\([^\.\?\!A-Z0-9]\)\n/\1 /c
| Vecchio | Nuovo |
|---|---|
([^\.\?\!A-Z0-9])\n |
\1 |
Note: \1è un capture group.
Fai molta attenzione a questo: a volte vuoi mantenere lo spazio tra i paragrafi, altrimenti il testo diventerà un enorme blocco. Questo è utile per unire righe che sono state separate da interruzioni di pagina.
Unisci linee:
:%s/\(\l[^.;!?:)]\)\n\+\(\s\n\+\)*/\1 /c
| Vecchio | Nuovo |
|---|---|
(\l[^.;!?:\)])\n+(\s\n+)* |
\1 |
Ad eccezione delle righe che terminano con un punto, un punto esclamativo, ecc.
Rimuovi i numeri di pagina
:%s/\d\+\s*[;|]*\n//c
| Vecchio | Nuovo |
|---|---|
\d\+\s*[;|]* |
I numeri di pagina sono spesso seguiti da : o | nei documenti che ho visto, quindi rimuoverò anche quei simboli.
Elimina le intestazioni di pagina (seleziona una per una):
:s/\n\u\+\n/ /c
| Vecchio | Nuovo |
|---|---|
\n\u\+\n |
|
Rimuovi i trattini all'interno delle parole:
:%s/\(\l\)\- \(\l\)/\1\2/cg
| Vecchio | Nuovo |
|---|---|
(\l)\- (\l) |
\1\2 |
Vuoi controllare questo uno per uno, o finirai con molti errori.
Linee separate
:.,$s/\(\l\)\.[^\n'”.’)]\C/\1.\r/cg
| Vecchio | Nuovo |
|---|---|
(\l)\.[^\n'”.’)]\C |
\1.\r |
Questo inizia dalla riga corrente. Non lo consiglio necessariamente, perché potrebbe creare confusione nel processo di conversione.
Controllo ortografico
In vim, puoi attivare il controllo ortografico con
:setlocal spelling-lang=en
Sostituzione encon la lingua del documento. Questo evidenzierà le parole che non rientrano nel dizionario di quella lingua. Per aggiungere una parola al tuo dizionario puoi scrivere
:spell newword
Corsivo, titoli, immagini
Questa parte è la più noiosa. Devi confrontare il tuo file di testo con il file pdf e verificare le differenze. Puoi usare '#' prima di una riga per indicare l'intestazione di un paragrafo, puoi usare '*' per indicare l'enfasi e '**' per il grassetto.
Siccome l'ultimo libro che ho convertito aveva molti corsivi, ho usato il plugin tpope/vim-surround per rendere più veloce l'inserimento. Ecco come installare un plugin Vim . Uso Plug come gestore dei plug-in, quindi l'ho appena aggiunto al mio .vimrc e ho dato il comando:PlugInstall
Plug 'tpope/vim-surround'
Dopo aver installato questo plugin, per mettere in risalto il testo premi v per entrare in modalità visiva, seleziona il testo, premi S (s maiuscola) e poi premi '*'.
Converti in EPUB o MOBI
Come convertire con Calibre
Apri il file .md con Calibre. Puoi modificare i metadati ora o in un secondo momento. Quindi, seleziona Converti nella barra dei menu in alto. Scegli MD come formato di input e EPUB come output. In questa conversione ho scelto di disabilitare l'euristica, in modo da avere più controllo sul risultato finale.
Ora clicca su TXT input nel menu laterale. Come stile di paragrafo, scelgo di utilizzare block . Ciò significa che verrà utilizzata una riga vuota per separare i paragrafi. Puoi anche scegliere single , se vuoi che consideri ogni singola riga come un paragrafo diverso. Questo si vedrà nella formattazione del documento in seguito.
Come stile di formattazione , sto usando markdown, perchè è un documento markdown. In questa parte puoi scegliere di abilitare le estensioni markdown. La conversione inizierà quando fai clic su ok . Questa conversione non dovrebbe richiedere molto tempo, a meno che l'e-book non sia davvero grande. Di solito ci vogliono uno o due minuti al massimo, per me.
Se il tuo libro conteneva immagini, ora devi modificare il file EPUB, per aggiungere immagini al suo interno. In Calibre, fai clic con il pulsante sinistro del mouse sul nome del libro e seleziona Modifica libro . Ora, fai clic sull'icona con un segno più sopra, in alto a destra. Fai clic su Importa file di risorse . Importa tutti i file immagine, uno ad uno. Quindi controlla se sono presenti nel libro. In caso contrario, potrebbe esserci una discrepanza tra il nome del file e il collegamento inserito nel testo del markdown.
Di solito modifico il file stylesheet.css , e modifico la classe calibre10 , che è la classe per le immagini nel mio documento.
Sostituisco la width: auto; con max-width: 90% . Questo adatterà la larghezza dell'immagine per essere al massimo al 90% delle dimensioni della pagina.
Ora puoi modificare l' indice del libro . Nella seconda barra dei menu, fai clic sull'icona con il dito indice per modificare il sommario. Di solito faccio clic su genera indice da tutte le intestazioni e tolgo quelle che non mi interessano. Fai clic su ok quando hai finito. Ora salva con File > salva o CTRL+S.
Il tuo ebook EPUB è pronto! Ora puoi convertirlo in MOBI, se lo desideri, con l' opzione converti nel menu in alto.
Come convertire con ebook-convert
Puoi trovare tutte le opzioni ebook-converte una guida sul suo utilizzo nella guida a ebook-convert .
Le opzioni che ho scelto sono già spiegate nell'ultima parte. Ecco come eseguirle dalla riga di comando:
ebook-convert manually-convert-pdf-epub.md prova.epub --output-profile
kindle --authors "bayblog writer"
--title 'How to manually convert from pdf to epub'
--formatting-type markdown --paragraph-type block
Puoi anche modificare il file .epub per aggiungere immagini e modificare il foglio di stile (chiamato stylesheet.css) con un gestore di archivi. Per fare ciò, dovresti rinominare il tuo file book.epubi in book.zip. Troverai il foglio di stile nella cartella styles. Per modificare l'indice, devi modificare il file toc.nox. Quando hai finito di aggiungere immagini e modificare l'indice, puoi salvare il file e rinominarlo in book.epub .
Come convertire con pandoc
Pandoc non supporta la conversione in mobi o azw , quindi ti consiglio di usare Calibre, se vuoi leggere il tuo e-book sul tuo dispositivo kindle. Puoi anche utilizzare pandoc per la conversione in EPUB e quindi convertire da .epub a .mobi con un altro strumento.
Nella documentazione di pandoc ci sono istruzioni molto chiare su come convertire in EPUB. Secondo la parte della guida relativa ai linked medias , "per impostazione predefinita, pandoc scaricherà i media a cui si fa riferimento da qualsiasi “elemento presente nell’EPUB generato, e lo includerà nel container EPUB”. Se non funziona, puoi rinominare il file “book.epub” in “book.zip”, a aggiungere i media manualmente, poi salvare di nuovo come “book.epub”.
Queste sono le istruzioni che ho dato per convertire il file da .md a .epub.
pandoc manually-convert-pdf-epub.md -o manually-convert-pdf-epub.epub
--metadata title="How to manually convert from pdf to EPUB or MOBI"
--metadata writer="bayblog writer" --toc
L’opzione --toc genera automaticamente un indice. Se non ti piacciono i risultati, puoi modificare il file toc.nox che si trova nell'archivio .epub . Consiglio anche di modificare il file stylesheet.css , in modo da impostare la larghezza massima delle immagini al 90%, in modo che non escano dal documento.
Questo è il risultato della conversione con pandoc: manual-convert-pdf-epub.epub .
Hai finito!
Ora che hai il tuo e-book, divertiti a leggerlo e condividilo con i tuoi amici.
27/04/2023