Risoluzione file PDF sotto linux

  • Creatore
    Topic
  • #56876
    Up
    0
    Down
    ::


    Salve a tutti gli utenti.

    Devo compilare un file tex con molte foto e figure, i cui originali sono in jpg o png e poi tutti trasformati in eps.
    Alcune di queste figure in formato eps pesano addiruttura 70M !!!
    Se compilo sotto Windows usando gli eps attraverso miktex, il pdf finale raggiunge i 17M. (C’è un tasto che genera direttamente il pdf senza generare il dvi.)
    Se compilo sotto linux e genero prima il dvi e poi il pdf, usando le figure in formato eps il file finale raggiunge i 350M .
    Ho provato a convertire tutte le figure in pdf, e con pdflatex il file finale raggoinge i 40M.
    Se invece uso le figure in formato originale (jpg e png), sempre tramite pdflatex il file finale passa i 150M.

    C’è un modo per arrivare ad avere sotto linux un file finale pdf di grandezza comparabile con il file compilato sotto windows?

    Grazie per il vostro aiuto
    Stefano

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #56877
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        Salve a tutti gli utenti.

        Devo compilare un file tex con molte foto e figure, i cui originali sono in jpg o png e poi tutti trasformati in eps.
        Alcune di queste figure in formato eps pesano addiruttura 70M !!!
        Se compilo sotto Windows usando gli eps attraverso miktex, il pdf finale raggiunge i 17M. (C’è un tasto che genera direttamente il pdf senza generare il dvi.)
        Se compilo sotto linux e genero prima il dvi e poi il pdf, usando le figure in formato eps il file finale raggiunge i 350M .
        Ho provato a convertire tutte le figure in pdf, e con pdflatex il file finale raggoinge i 40M.
        Se invece uso le figure in formato originale (jpg e png), sempre tramite pdflatex il file finale passa i 150M.

        C’è un modo per arrivare ad avere sotto linux un file finale pdf di grandezza comparabile con il file compilato sotto windows?

        Grazie per il vostro aiuto
        Stefano

        A mio parere la situazione da te descritta evidenzia non un problema sotto linux, ma un problema sotto windows dove un file che dovrebbe essere pesante è un po’ troppo leggero.
        Anzi, direi che il problema non sta neanche in windows, ma molto probabilmente sei tu ad aver dato in pasto a pdflatex file diversi!!!

        Comunque, usa i file in jpeg e png originali direttamente con pdflatex senza passare dal postscript. Ciò è veramente necessario in quanto ps è un formato poco pratico nel gestire immagini raster.
        Se necessario puoi ridurre le dimensione del pdf finale solo in un modo: riducendo le dimensioni delle immagini 🙂
        lo puoi fare in un unico comando da terminale con image magick per esempio.
        bye

      • #56878
        Up
        0
        Down
        ::


        Un metodo alternativo, da “pigri” diciamo, è quello di trattare il pdf finale con GhostScript in modo da uniformare la risoluzione delle immagini.`gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf`

        😉
        Luca

      • #56879
        Up
        0
        Down
        ::


        Grazie per i vostri consigli, sono stati utilissimi.
        Riguardo alla risposta di Luca, funziona perfettamente.
        Riguardo alla risposta di Robitex, è possibile settare direttamente dentro LaTex la dimensione massima di un’immagine?

        grazie per il vostro aiuto
        Stefano

      • #56880
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          Grazie per i vostri consigli, sono stati utilissimi.
          Riguardo alla risposta di Luca, funziona perfettamente.
          Riguardo alla risposta di Robitex, è possibile settare direttamente dentro LaTex la dimensione massima di un’immagine?

          grazie per il vostro aiuto
          Stefano

          Ma, penso di si se si ricorre al \write18 ovvero l’istruzione TeX che permette di eseguire comandi esterni.
          Tuttavia è molto più semplice scrivere uno script dedicato che elabori il set di file nella maniera opportuna, prima dell’inserimento delle immagini in LaTeX. Mi sembra una cosa più logica e semplice.
          Lo script potrebbe essere scritto in Lua od in Python, per esempio, e potrebbe far ricorso a librerie per la gestione delle immagini in grado di ridimensionarle (i.e. Image Magick 🙂 ).

          La questione può “rientrare” in LaTeX se lo script è in Lua ed utilizziamo il motore LuaLaTeX con qualche piccolo vantaggio.
          Bye

        • #56881
          Up
          0
          Down
          ::


          La mia idea era quella di poter gestire la dimensione delle immagini in maniera automatica durante la compilazione. Per quello che sono riuscito a capire con pdftex.cfg si potevano per esempio settare dei parametri che venivano usati in fase di compilazione (ad es.
          compress_level, image_resolution ed altri).
          Ma pdftex.cfg non è più in uso.
          Per fortuna ho trovato una soluzione molto soddisfacente tramite gs. Il problema nasceva dal fatto che a volte devo caricare 30, o addirittura 50/60 immagini molto pesanti (anche 60M ad immagine). Non posso certo andare a modificarle singolarmente.

          grazie ancora per il vostro contributo
          Stefano

        • #56882
          Up
          0
          Down
          ::

          La mia idea era quella di poter gestire la dimensione delle immagini in maniera automatica durante la compilazione. Per quello che sono riuscito a capire con pdftex.cfg si potevano per esempio settare dei parametri che venivano usati in fase di compilazione (ad es.
          compress_level, image_resolution ed altri).
          Ma pdftex.cfg non è più in uso.
          Per fortuna ho trovato una soluzione molto soddisfacente tramite gs. Il problema nasceva dal fatto che a volte devo caricare 30, o addirittura 50/60 immagini molto pesanti (anche 60M ad immagine). Non posso certo andare a modificarle singolarmente.

          grazie ancora per il vostro contributo
          Stefano

          I parametri che un tempo stavano in pdftex.cfg possono essere impostati nel documento stesso. Per il livello di compressione c’è \pdfcompresslevel che di default vale 9; per la risoluzione delle immagini hai \pdfimageresolution (di default 72). C’è anche \pdfobjcompresslevel per la compressione di “non-stream objects) che però richiede \pdfminorversion=5 (com’è impostato attualmente dalla TeX Live).

          Se vuoi modificare \pdfimageresolution, ti basta scrivere nel preambolo del tuo documento
          `\pdfimageresolution=144`
          (metti il valore che preferisci).

          Ciao
          Enrico

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

      Go to top