giovedì 10 marzo 2011

Convalidare un epub con EpubCheck

EpubCheck è uno strumento gratuito che ci permette di controllare e convalidare i nostri epub. Dopo aver esaminato un file in formato epub, EpubCheck ci restituirà la lista di tutti gli errori riscontrati, oppure, se non troverà errori, ci comunicherà che il nostro epub è idoneo ed è pronto per la distribuzione (se lo vogliamo distribuire).
A cosa serve convalidare un epub?
Beh, innanzitutto serve a localizzare eventuali errori nel file, come abbiamo appena detto. Esiste infatti una norma per la realizzazione di un e-book in formato epub, certi requisiti di stile e di formattazione che il file deve possedere, per poter essere visualizzato correttamente su tutti i dispositivi che supportano il formato epub. EpubCheck si occupa appunto di esaminare il nostro epub, sulla base di queste norme. Se abbiamo realizzato un epub per uso strettamente personale, allora può anche non essere necessaria una convalida con EpubCheck: se questo file lo usiamo solo sul nostro lettore, e il nostro lettore lo apre correttamente, possiamo anche accontentarci. Se però lo vogliamo distribuire ad altre persone, allora il test di convalida è necessario, a maggior ragione se abbiamo realizzato un e-book e abbiamo in programma di venderlo in formato digitale: la prima cosa che ci sarà richiesta da qualsiasi sito sarà proprio la verifica attraverso EpubCheck.

Come si effettua la convalida?

Piuttosto semplice. Esistono due opzioni per convalidare il nostro epub attraverso EpubCheck: la prima è utilizzare questo strumento nella sua versione online, la seconda è scaricarlo e utilizzarlo sul nostro computer. Il risultato è identico, la differenza risiede più che altro nella comodità e nella accessibilità delle due soluzioni: se è una cosa rara, che capita solo una volta ogni tanto, allora possiamo usare la convalida online; se invece realizziamo molto epub e abbiamo bisogno di ricorrere spesso a una convalida, allora è meglio scaricare l’ultima versione di questo strumento e usarlo direttamente sul nostro computer, quando ci serve.

Online

La versione online di EpubCheck la troviamo in questa pagina.
EpubCheck
Il funzionamento è molto semplice: clicchiamo sul pulsante “Sfoglia” per selezionare il nostro epub da convalidare, dopodiché clicchiamo su “validate”, per eseguire il controllo. È molto rapido, questione di qualche secondo e poi avremo la risposta.
Se il nostro epub non presenta errori, allora il test è superato e ci apparirà una pagina di questo tipo:
Se invece il nostro epub presenta errori, allora ci uscirà una pagina con la lista di tutti gli errori trovati: ognuno sarà preceduto dal nome del file in cui è stato trovato e dal numero della linea in cui l’errore si presenta. Può essere piuttosto complicata da decifrare e non posso certo preparare in anticipo una raccolta di tutti gli errori che potreste ottenere, perché dipendono dallo epub esaminato. Un breve elenco degli errori più comuni lo potete trovare su questa pagina (in inglese).
Dovrete quindi rimettervi al lavoro e correggere tutti gli errori, prima di ritentare il test di convalida. Per la correzione di un epub, un ottimo strumento è di certo Sigil, come abbiamo già visto.

Offline

La versione di EpubCheck da scaricare può essere un po' complicata da usare, soprattutto per utenti alle prime armi. Consiste infatti di un file jar, ossia un archivio in Java, che deve essere eseguito dalla linea di comando, a patto che sul vostro computer sia installato il Java; nella maggior parte dei computer il Java è installato, per cui questo aspetto non dovrebbe essere un problema.
Vediamo di tradurre questa frase in termini comprensibili anche per chi non è un nerd.
Prima di tutto, per verificare se sul vostro computer il Java è installato, c’è un semplice test che potete eseguire su questa pagina.
Se sul vostro computer non è installato il Java, oppure se è installato in una versione molto anziana, quel sito vi dirà cosa fare, in italiano.
Scaricate il file di EpubCheck, che potete trovare su questa pagina: come vedere, è una cartella ZIP, il che significa che dovremo estrarre il contenuto, prima di usarlo. Al momento, l'ultima versione è la 1.1, ma la 1.2 è in lavorazione. Il file che ci serve, in quella cartella, si chiama epubcheck-1.1 ed è un archivio Jar, come detto.
Il passaggio successivo consiste nell’aprire la finestra con la linea di comando.
Su Windows, cercate il “Prompt dei comandi”, tra gli “Accessori”, nel menu di avvio. Oppure, cercate direttamente il file cmd.exe: il risultato è lo stesso.
Su Mac, bisogna cercare “Terminal”.
Una volta aperta la finestra con la linea di comando, arriva il test vero e proprio.
- Digitate java –jar senza premere “Invio”.
- Trascinate epubcheck-1.1.jar nella finestra della linea di comando: in questo modo, si dovrebbe copiare l'indirizzo del file.
- Premete la barra spaziatrice, per lasciare uno spazio vuoto.
- Trascinate il vostro file epub nella finestra della linea di comando, per copiare il suo indirizzo.
- Premete "Invio".
Adesso vi uscirà il risultato del test: se non otterrete segnalazioni di errore, allora avrete passato il test; altrimenti, ci sarà la lista delle cose da correggere.

21 commenti:

  1. Il file epubcheck.jar dove deve essere salvato ?

    RispondiElimina
    Risposte
    1. In linea di massima, dove vuoi. Per comodità, però, ti consiglio di salvarlo in una cartella vicina a quella in cui conserverai gli Epub da convalidare, oppure nella stessa cartella: se è nella stessa cartella, ad esempio, non avrai bisogno di specificare il percorso per trovare il file Epub, ma basterà digitare il nome del file.

      Elimina
  2. Ciao, io ho scaricato l'app EpubChecker per Mac: il mio problema è che ho un file epub che all'inizio era stato accettato da lulu.com ma poi, facendo una revisione e avendolo immesso nel sito mi dà i due errori: "l'indice contiene uno o più collegamenti sprovvisti di testo" e "contiene una data di pubblicazione XML non valida" eppure ho eseguito il controllo con Sigil e la validazione è ok e pure con epubchecker è valida e anche con la versione online. Sto uscendo pazzo. Mi puoi aiutare per favore a capire e risolvere? Grazie in anticipo. Giovanni

    RispondiElimina
  3. Aggiornamento: ho immesso nei metadati la data di creazione e adesso il sito mi dà un solo errore "L'indice contiene uno o più collegamenti sprovvisti di testo". Continuo a non capire: l'indice l'ho realizzato con sigil cliccando su TOC contents...

    RispondiElimina
    Risposte
    1. Il sistema di convalida utilizzato da Lulu ha la (pessima) fama di segnalare errori misteriosi in e-books che, altrove, non presentano alcun errore; le limitazioni aggiunte dalle richieste per lo iBookstore, che a propria volta inserisce ulteriori richieste non standard, ma decise arbitrariamente dalla Apple, contribuiscono a questi messaggi di errore.
      A ogni modo, il problema dovrebbe trovarsi nel file "toc.ncx", che contiene l'indice del libro, così come è stato prodotto dal programma (Sigil, nello specifico): bisognerebbe vivisezionarlo, per trovare il presunto errore. Ogni voce dell'indice è rappresentata da uan struttura di questo tipo:
      < navPoint id="navPoint-2" playOrder="2">
      < navLabel>
      < text>Introduzione< /text>
      < /navLabel>
      < content src="Text/Section0001.xhtml"/>
      < /navPoint>
      L'elemento "text" è presente in tutte? Potrebbe ad esempio mancare proprio l'indicazione del titolo del libro, che compare nelle prime righe del file, subito sotto lo "head" e all'interno di un elemento "docTitle".

      Elimina
  4. Grande Adriano! Non so chi tu sia ma sei veramente una persona gentile e precisa. Mi hai risolto un problema che durava da mesi! Ora ho capito l'architettura dei TOC. C'era difatti un elemento text vuoto ma alla fine del testo e non so perché. Ti ringrazio tantissimo per il tuo suggerimento.
    Ecco come si presentava:








    Come vedi manca proprio il iniziale e perdipiù vuoto. Mah...
    Ora devo capire però come mettere le copertine...
    Grazie ancora a presto.
    PS Consiglierò a tutti questo tuo sito.


    RispondiElimina
  5. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  6. Non so perché non mi scriva il listato mi spiace. Ciao

    RispondiElimina
    Risposte
    1. Probabilmente non riesci a inserire la porzione di codice, perché lo spazio per i commenti lo interpreta come HTML e cerca di formattarlo di conseguenza, non riuscendoci. Per evitarlo, io l'ho inserito lasciando uno spazio vuoto tra il carattere < e la prima lettera del codice: in questo modo, il tutto è interpretato come semplice testo, invece che come codice HTML.
      Per inserire una copertina, puoi semplicemente aggiungere una pagina vuota all'inizio del file EPUB, in modo che sia la prima cosa che appare nel libro, e inserire l'immagine in quella pagina. L'ultima versione di Sigil, la 0.6.0, rende molto più facile questa operazione, permettendo anche di inserire una pagina già preparata per includere immagini SVG, cioè immagini che modificano autonomamente la propria dimensione, per adattarsi a quella dello schermo.
      Poi bisognerà vedere se Sigil riconoscerà automaticamente quella pagina come copertina (a volte lo fa, ma non sempre), ma questo è un altro paio di maniche... nel peggiore dei casi, si può caricare lo EPUB in un programma come Calibre, aggiungere lì la copertina e poi "convertirlo" in EPUB, controllando bene le impostazioni in modo da non modificare l'impaginazione. Semmai, poi, un nuovo passaggio con Sigil può sistemare il tutto. Non è una soluzione molto elegante, forse, ma funziona.

      Elimina
  7. Grazie mille, avevo già fatto prove di passaggio tra Calibre e poi Sigil. Farò così. A presto.

    RispondiElimina
  8. Ciao, grazie mille per l'articolo. Io ho un problema e spero che tu possa aiutarmi. Sto cercando di pubblicare un ebook su Lulu in formato epub, tutti gli epub check validator che ho eseguito sono passati con successo, anche quello con Sigil, ma quando lo invio a Lulu il check fallisce sempre con questo unico errore:
    "Il file EPUB presenta i seguenti problemi che potrebbero comprometterne l'ammissibilità l'iBookstore e Barnes & Noble:
    Non ha superato la verifica epubcheck-1.1.".
    Per caso ti è già capitato? Sai come potrei risolvere?
    Grazie in anticipo, ciao

    RispondiElimina
    Risposte
    1. Lo iBookstore ha regole tutte sue, che non sempre coincidono con lo standard del formato EPUB (tanto per cambiare, trattandosi di Apple).
      In particolare, l'immagine di copertina è la prima causa di problemi, quando si cerca di far accettare uno ebook su Lulu: se il tuo file supera il test di convalida, ma non è conforme alle norme dello iBookstore, ti sarà bocciato. Qui trovi una discussione su formato e codifica della copertina:
      https://discussions.apple.com/thread/4032745?start=0&tstart=0
      Prova a verificare se la tua copertina le rispetta; se ha dimensioni diverse, prova a correggerla. Lo iBookstore ha criteri molto restrittivi per le copertine ed è facile non rispettarli...

      Elimina
  9. Ciao sto cercando di validare alcuni miei ebook, ma sia sigil che il ceck mi danno errore per il codice < u > cioè la sottolineatura del testo. Non so come correggerlo, dovrei togliere la sottolineatura, ma nel testo c'è. Grazie in anticipo.

    RispondiElimina
    Risposte
    1. La questione è piuttosto complicata, ma soprattutto paradossale.
      Il tag < u >, utilizzato per le sottolineature, è deprecato nella versione di XHTML su cui è tuttora basato Sigil: in altri termini, il suo uso è sconsigliato nel linguaggio che Sigil utilizza. Nonostante questo, quando sottolinei un testo, Sigil usa proprio il tag che non dovrebbe usare.
      Per aggirare il problema hai due possibilità. La soluzione provvisoria è sostituire il tag u con il tag < ins >. Una soluzione più definitiva, invece, è sostituirlo con qualcosa del tipo < span class="sottolineato" > (da chiudere poi con < /span >) e aggiungere nel foglio di stile una riga:
      span.sottolineato { text-decoration: underline }

      Elimina
  10. Ciao, premessa sono una principiante, ho appena terminato il mio primo ebook, utilizzando prima indesign cs6 e poi sistemando ciò che non quadrava con Sigil, sembrava tutto perfetto, ma poi ho provato a convalidare l'epub ce sia con FlightCrew che con epubcheck, stesso errore: 'toc_marker-5': fragment identifier is not defined in 'OEBPS/Text/03_PARTE3_fare ..." ho letto un po' di tutto e adesso non so più dove sbattere la testa, Grazie in anticipo per i tuoi consigli.

    RispondiElimina
    Risposte
    1. FlightCrew dà messaggi di errore più chiari rispetto a EpubCheck, in media, per cui ti conviene partire da quello, quando devi correggere qualcosa in uno EPUB, e tenere EpubCheck per il controllo finale.
      A ogni modo, nel tuo caso è possibile che ci sia un link difettoso, o nell'indice del tuo libro, oppure nel punto del testo a cui il link conduce (cioè la sua "ancora" nel testo): in uno dei due punti (il test di convalida dovrebbe dirti quale, a seconda di pagina e linea in cui si trova l'errore), un nome è sbagliato. Ti faccio un esempio.
      Nel tuo indice (il TOC) hai un link del tipo:
      < content src="nome-pagina.html#toc_marker-5"/ >
      Nella pagina corrispondente, dovrebbe esserci una riga del tipo:
      < p id="toc_marker-5" class="classe-di-stile" >
      A occhio, è probabile che manchi uno degli id="toc_marker-5", per cui ti basterebbe aggiungerlo nella pagina che presenta questo difetto.

      Elimina
  11. Non so veramente come ringraziarti, sia per la velocità con cui mi hai risposto che per la soluzione alla quale da sola non sarei arrivata ... devo ammettere è stata un'emozione leggere "No errors or warnings detected". Come dici tu è bene affidarsi a FlightCrew per la correzione. Buon lavoro e continuerò a seguirti con grande interesse.

    RispondiElimina
    Risposte
    1. Mentre stai lavorando sul tuo EPUB, è meglio FlightCrew, perché dà messaggi di errore più dettagliati; EpubCheck, però, è il test ufficiale di convalida, per cui è il "mostro finale" da superare, soprattutto se vuoi pubblicare il tuo EPUB: pressoché tutti i servizi di pubblicazione richiedono uno EPUB che sia risultato valido allo EpubCheck. Sono due test complementari, insomma.

      Elimina
  12. Sono in alto mare...
    Caro Adriano, leggerti è un conforto che nn hai idea! Tuttavia, mi ritrovo sempre impantanato in una situazione che non capisco. Ho creato un ePub utilizzando sia Calibre che Sigil. Cambia qua cambia là, ottengo sempre lo stesso risultato: benché Sigil non rivela errori, quando apro il file con il mio KoboHD il testo si spezza a modo suo, senza un motivo apparente. Oltretutto compaiono dei numeretti sul lato destro (numerazioni di pagina) che ad ogni pagina saltano sopra e sotto. Perché? Perché sul eReader di Calibre il risultato è perfetto e sul mio Kobo no?

    RispondiElimina
    Risposte
    1. Il formato iniziale del file era per caso PDF? Problemi di questo tipo, di solito, si vericicano quando si converte un PDF in più o meno qualsiasi altro formato e sono di difficile soluzione, dato che la causa è la natura stessa di un file PDF. Per dirla in modo brutale, quando converti un PDF, ciò che converti non è la struttura della pagina, ma il modo in cui si presenta sullo schermo, con risultati che possono essere decenti solo per pura fortuna.
      Se sei effetivamente partito da un PDF, controlla prima se hai una possibilità di esporarlo cone HTML o altro formato, usando Acrobat: se sì, prima esportalo e poi converti i file esporato, così i risultati dovrebbero essere migliori (difficile che vada peggio, in effetti...).

      Elimina
  13. Ciao Adriano, allora è vero che le tue risposte sono sempre così tempestive! No, col PDF c'ho provato una volta e mi è bastato. Ho provato la conversione dall'HTML, poi sono passato a convertire Con calibre files ODF, e infine ho istallato la macro Office per creare ePub che è risultata peggio del calibra abbinato all'odf. Adesso continuo a convertire con Calibre usando i formati ODF per poi analizzarli ed eventualmente correggerli con Sigil. Faccio così perché a quanto pare Calibre è l'unica applicazione che consente un risultato migliorato del Carattere (nel senso tipografico-non posso rinunciare alle virgolette così ben fatte!-: cosa le rende così? Una seduzione CSS?), ma alla fine resta quest'apparentemente insormontabile Questione degli stacchi del testo e dei numeri odiosi ai lati delle pagine... Forse è un problema del reader, anche perché quando ridimensiono il carattere sembra riprendersi. Poi sfoglio un paio di pagine e di nuovo trac! Il testo tagliato (per il conteggio bizzarro delle pagine invece non c'è verso, è sempre lì). È possibile che gli ePub acquistati negli eStores siano diversi e vengono letti dal mio Kobo senza errori? È lecito supporre che il mio manoscritto, una volta caricato su una piattaforma editoriale, diventi magicamente perfetto e leggibile come un adorabile Nabokov dell'Adelphi? Oppure devo arrendermi e pagare gli editori per una professionale conversione del file? Io lo farei volentieri per conto mio, e se c'è un Maker affidabile sono disposto a comprarlo purché il risultato sia perfetto. Sono per i contenuti ma Ho anche un debole stevejobbiesco per la forma, mi spiego? In tal caso che Maker mi consiglieresti?

    RispondiElimina