Ridurre peso quando si esporta un file pdf

  • Creatore
    Topic
  • #113325
    Marco
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti, qualcuno può darmi una mano a ridurre il peso di un pdf prodotto con XeLaTeX?
      Non sono riuscito a trovare in nessuna guida o parte del forum altra soluzione che fosse usare ghostscript da prompt dei comandi (funzionasse, nel mio caso non sempre).
      Possibile non esista un pacchetto che riduce la qualità delle immagini in fase di compilazione?
      Qualcuno ha suggerimenti?
      Ovviamente le soluzioni come compilare in draft non mi servono, ho bisogno di un pdf visivamente uguale a quello pesante, accetto le immagini di minor qualità purché non troppo sgranate.
      Grazie.

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #113326
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Il problema delle immagini è che solitamente non si da nessuna importanza alle loro dimensioni, ma solo al fatto che ci siano.
          Ora il peso di una immagine è proporzionale al quadrato della sua densità di pixel; normalmente un pixel occupa tre byte; cento pixel al pollice occupano quindi 240000 pixel per un pollice quadrato (diciameo 0,25MiB per fare cifra tonda); ora una immagine di 10cm per 10cm con quella densità di pixel occupa 16 pollici quadrati quindi impegna 4MiB.
          Se la densità fosse di 300px/pollice; l’occupazione in memoria sarebbe di 36MiB.

          La prima cura sarebbe quindi di non usare foto con densità di pixel troppo grandi per l’uso che ne vuoi fare.

          La seconda cura potrebbe essere quella di usare formati grafici compressi purché siano adatti a tipo di immagine. Il formato JPG o JPEG è una forma lossy di compressione, molto efficace, ma introduce artefatti nelle immagini stampate se l’immagine presenta salti di luminosità forti; in sostanza va bene per fotografie do oggetti con i relativi sfondi dove i colori varino con dolcezza da un pixel all’altro. Altrimenti per disegni alratto che contengono linee “nere” su uno sfondo “bianco” è preferibile il formato PNG, che tra l’altro non è lossy e quindi non introduce artefatti.

          Il fatto che una immagine abbia un’estensione PDF non garantisce che essa sia costruita con i comandi del linguaggio PDF; potrebbe essere solo una scatola PDF che contiene un’immagine JPG o PNG.

          Quando poi si immettono immagini JPG o PNG dentro un file PDF da compilare con uno dei programmi del sistema TeX, non avviene nessuna ulteriore compressione dell’immagine già compressa di suo, o almeno se viene compresso qualcosa realtivo alle immagini, è solo di carattere marginale e la riduzione in memoria è trascurabile.

          Puoi certamente controllare nelle impostazioni del programma xdvipfmx (quello che di fatto trasforma il formato speciale DVI esteso in uscita da XeLaTeX in un file PDF) se prevede un livello di compressione 9; con questo livello si ha la massima compressione di quello che è contenuto nel file PDF.

          Io in circostanze simili alla tua ho seguito questo procedimento, dopo aver scelto convenientemente i formati delle immagini da importare;
          Ho creato un duplicato del sotto albero dove conservo le immagini; Nella prima copia, che qui chiamo Foto300, ho conservato le foto originali; nella seconda copia, che qui chiamo Foto75, conservo le stesse immagini a basa definizione.
          Poi ho copiato tutte le foto di Foto300 in Foto75.
          Poi ho usato GIMP, il programma della Gnu Foundation che fornisce prestazioni simili a quelle di PhotoShop; certo, se uno dispone di PhotoShop non ha bisogno di installarsi GIMP.
          Usando questo editor di foto, molto performante, ho trasformato tutte le immagini di Foto75, originariamente con densità di 300px/in in altrettante immagini con la densità ridotta ad un quarto, cioè di 75 px/in; ne ho quindi ridotto le dimensioni in termini di byte per un fattore 16 Ci vuole un po’ di tempo perché per elaborare ciascuna foto devi prevedere fra una cosa e l’altra circa un minuto per ogni foto. Però è un lavoro “una tantum”. Attenzione: di ogni foto nell’albero Foto75 non ho cambiato il nome; è importante non cambiarlo.

          Ciò fatto, lavorando il documento le bosse del documento imposto \GraphicsPath con Foto75; quando sono arrivato alla versione finale cambio \GraphicsPath in Foto300 e ottengo la versione pesante, avendo lavorato con una versione leggera per tutto il tempo in cui ho editato il documento compilandone le bozze.

        • #113327
          Up
          0
          Down
          ::


          Chi si trova a suo agio con la linea di comando può utilizzare anche ImageMagick per la creazione di immagini a bassa risoluzione.

          Ciao
          Matteo

        • #113328
          Andrea
          Partecipante
            Up
            0
            Down
            ::


            Aggiungo che è possibile avere in formato vettoriale (piuttosto che raster) alcune immagini come grafici, schemi ad albero e altre composizioni di questo tipo, soprattutto se sei tu stesso a crearli: se per esempio devi inserire un grafico prodotto con MATLAB o Excel, puoi esportarlo dal programma in questione in formati vettoriali come .eps o direttamente PDF, risparmiando così sulle dimensioni del documento finito e guadagnandoci in qualità e risoluzione.

            Ovviamente il discorso non vale per fotografie e file simili 🙂

            Ciao,
            Andrea

        Visualizzazione 2 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top