mercoledì 28 maggio 2014

Adobe InDesign CS4 e l'odiato errore Out of memory

Come al solito, sulla mia pelle, ho avuto esperienza di un errore di InDesign CS4 (e probabilmente anche di altre versioni) che si verifica durante l'esportazioni di documenti di grandi dimensioni. Nel mio caso stavo esportando in formato PDF, un documento di 188 pagine, ricolmo di immagini ad altissima risoluzione. L'errore in questione si presenta durante l'esportazione del file con un messaggio di errore che dice:

"Out of memory" oppure "Failed to export PDF"

In poche parole, il programma vi sta dicendo che non ha sufficiente memoria per creare il file PDF. In realtà, la situazione è un po più complicata di così.

Potrebbe essere un problema di hardware? 4 gb di RAM installata sul sistema sono sufficienti, il problema infatti risiede nei limiti software dell'applicazione.

Ci sono sistemi operativi a 32 e a 64 bit. Io prendo come esempio Windows. Windows XP a 32 bit (il più diffuso) ha come limite massimo 3 gb di RAM disponibile per ogni processo, questo anche se il computer ne dispone molta di più. InDesign ci arriva a quella cifra? Neanche per sogno. Installare un sistema a 64 bit risolve il problema? No, la memoria in più non viene utilizzata dall'applicazione.

Per ovviare al problema della RAM fisica si potrebbe usare il file di Paging per virtualizzare la memoria sul disco rigido. L'aumento del file di paging risolve il problema? Neanche per sogno.

Forse il problema è che non ho sufficiente spazio libero sul disco. Liberare lo spazio sul disco risolve il problema? Neanche per sogno, lo spazio occupato dai temporanei sarà all'incirca 2,5 gb, al massimo.

Forse il problema potrebbe essere il fatto che InDesign è un'applicazione a 32 bit, e quindi può utilizzare un quantitativo limitato di memoria. In effetti è così, ma esiste un modo per fare l'esportazione senza intoppi.

Nelle impostazioni dell'esportazione in formato PDF c'è una voce che che ci permette di comprimere le immagini ad una certa risoluzione (di solito 150 o 300 dpi), ed è proprio lì che si nasconde il problema. Il programma deve leggere l'immagine originale (di solito molto grande) e ridimensionarla alla risoluzione da noi impostata. Questa operazione è buggata in InDesign CS4 (e probabilmente altre versioni) e dopo poche pagine esportate, le risorse virtuali vengono esaurite e appare l'errore di memoria.

Per risolvere questo spiacevole inconveniente è sufficiente esportare il PDF senza la compressione delle immagini, selezionando quindi "Do not downsample" nel menu apposito.

Attenzione: se avete tentato di esportare il PDF senza questa impostazione attiva, sarete costretti a riavviare il vostro computer, perchè in questo caso InDesign ha già occupato le sue risorse disponibili, e non essendo in grado di "svuotarle", anche se chiuderete e avvierete di nuovo l'applicazione, non sarà comunque in grado di portare a termine l'esportazione.

Una volta che avete il vostro PDF esportato con la massima risoluzione delle immagini, potete usare lo strumento ottimizzazione di Acrobat per potare le immagini alla risoluzione desiderata. Avete capito bene, Acrobat riesce a farlo e InDesign no, proprio per questo è un bug di InDesign.

Adesso ho aggiornato il mio sistema installando Windows 7 Ultimate a 64 bit e InDesign CC, ho verificato l'esportazione con la compressione attiva, e, anche se il programma sembra più lento, il processo è andato a buon fine, quindi direi che hanno risolto il problema.