Creare da Linux immagini .pdf da inserire in ambiente ad-hoc

  • Creatore
    Topic
  • #16984
    Up
    0
    Down
    ::


    Un bentornato al forum… 😀
    Riporto una discussione avuta qualche tempo fa con Lorenzo Pantieri. Ho il seguente codice:
    `
    \documentclass[12pt,a4paper,italian,twoside,openright]{book}

    \usepackage{babel}
    \usepackage{ucs}
    \usepackage[utf8x]{inputenc}

    \usepackage{graphicx}
    \usepackage{color,xcolor}
    \definecolor{oldlace}{RGB}{253,245,230}

    \newcommand{\myincludegraphics}[2][]{%
    \begingroup\setlength{\fboxsep}{0pt}%
    \colorbox{oldlace}{\includegraphics[#1]{#2}}%
    \endgroup}

    \begin{document}
    \begin{figure}
    \centering
    \myincludegraphics[width=\textwidth]{Immagine}
    \caption{Etichetta}
    \end{figure}
    \end{document}`
    Il comando \myincludegraphics “coniato” da Enrico ha lo scopo di inserire le immagini in una box di un dato colore (nel caso specifico il colore oldlace campionato da Andrea). Ora affinchè tutto funzioni è fondamentale che il file .pdf da inserire come immagine abbia sfondo trasparente, altrimenti del box colorato non c’è traccia: da qui il problema in oggetto.
    Al momento sono quasi riuscito a risolvere, ma vorrei l’opinione di qualche utente linux esperto che mi sappia dire qual è la strada migliore.
    Dico subito che da WinXP non ho avuto particolari problemi grazie al programma cups-pdf: dato un file immagine con estensione .jpg o .png il programma la converte in .pdf e lo sfondo è trasparente, tanto che l’immagine .pdf è inserita senza problemi.
    Recentemente sono passato a Ubuntu Linux (con soddisfazione) ed uso TeXLive 2007. Volevo sapere qual è il modo migliore per ottenere un immagine .pdf con sfondo trasparente da usare con il comando \myincludegraphics definito sopra.
    Al momento ho risolto il problema usando imagemagick, un tool di conversione, ma devo dire che il risultato ottenuto mi soddisfa solo in parte: se inserisco due immagini per confronto, una creata con imagemagick e l’altra con cups-pdf da win, la qualità della seconda è decisamente superiore. Uso imagemagick così:
    `convert -transparent white Immagine.png Immagine.pdf `
    Qualcuno conosce strade più performanti?

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #16985
      Up
      0
      Down
      ::

      Un bentornato al forum… 😀
      Riporto una discussione avuta qualche tempo fa con Lorenzo Pantieri. Ho il seguente codice:

      Il comando \myincludegraphics “coniato” da Enrico ha lo scopo di inserire le immagini in una box di un dato colore (nel caso specifico il colore oldlace campionato da Andrea). Ora affinchè tutto funzioni è fondamentale che il file .pdf da inserire come immagine abbia sfondo trasparente, altrimenti del box colorato non c’è traccia: da qui il problema in oggetto.
      Al momento sono quasi riuscito a risolvere, ma vorrei l’opinione di qualche utente linux esperto che mi sappia dire qual è la strada migliore.
      Dico subito che da WinXP non ho avuto particolari problemi grazie al programma cups-pdf: dato un file immagine con estensione .jpg o .png il programma la converte in .pdf e lo sfondo è trasparente, tanto che l’immagine .pdf è inserita senza problemi.
      Recentemente sono passato a Ubuntu Linux (con soddisfazione) ed uso TeXLive 2007. Volevo sapere qual è il modo migliore per ottenere un immagine .pdf con sfondo trasparente da usare con il comando \myincludegraphics definito sopra.
      Al momento ho risolto il problema usando imagemagick, un tool di conversione, ma devo dire che il risultato ottenuto mi soddisfa solo in parte: se inserisco due immagini per confronto, una creata con imagemagick e l’altra con cups-pdf da win, la qualità della seconda è decisamente superiore. Uso imagemagick così:
      `convert -transparent white Immagine.png Immagine.pdf `
      Qualcuno conosce strade più performanti?

      Prova con png2pdf (http://sourceforge.net/png2pdf)

      Ciao
      Enrico

    • #16986
      Up
      0
      Down
      ::


      Grazie per la risposta. Ho installato il programma; per quanto riguarda la qualità dell’immagine pdf ottenuta devo dire che decisamente ci siamo. Però non sono riuscito ad ottenere lo sfondo trasparente. Mi sai dire che opzioni aggiungere al comando:
      `png2pdf Immagine.png Immagine.pdf`
      ??

    • #16987
      Up
      0
      Down
      ::


      Ho dato un’occhiata alla documentazione del programma. In particolare le opzioni interessanti dovrebbero essere:
      `png2pdf -a Immagine.png Immagine.pdf`
      `png2pdf -t Immagine.png Immagine.pdf`
      Riporto quello che dovrebbero fare:

      -a
      –transparency[=bool]

      writes transparency data based on the PNG file’s alpha channel
      if available.

      -t
      –alpha-transparency[=bool]

      treats the alpha channel data as transparency. By default the
      alpha channel is treated as opacity data.

      Eppure un uso diretto delle due opzioni non ha prodotto il risultato sperato. Finora io procedo in questo modo: copio l’immagine da inserire nel documento LaTeX dal pdf che la contiene, la esporto in .png con The Gimp, la converto con p2g2pdf.
      Devo selezionare le informazioni di trasparenza da The Gimp quando esporto in .png? C’è qualcosa che sbaglio?

    • #16988
      Up
      0
      Down
      ::


      Alla fine ce l’ho fatta…:wink:
      La procedura definitiva sembra questa. Prelevo l’immagine dal file pdf in cui si trova e la copio in Gimp. Da qui la salvo nel file Immagine.png. Prima della conversione apro il file Immagine.png appena salvato con Gimp, seleziono Livelli->Trasparenza->Colore ad alpha e seleziono il bianco come colore a cui associare le informazioni d trasparenza. Infine da terminale:
      `png2pdf -a Immagine.png Immagine.pdf` ed il gioco è fatto: quando compilo con pdflatex l’immagine appare nella box colorata! 😀
      Grazie mille ad Enrico per la dritta su quale tool usare.

    • #16989
      Up
      0
      Down
      ::


      Per estrarre l’immagine dal PDF puoi usare il tool pdfimages. pdfimages crea un file .pbm, .ppm o .jpg per ciascuna immagine estratta (puoi usare -f e -l per limitare l’estrazione ad una sola pagina). Ad esempio:
      `
      pdfimages -f 3 -l 3 nomefile.pdf immagine
      `
      che produrrà immagine0.ppm, immagine1.ppnm etc (un file per ogni immagine a pagina 3 del pdf). Per trasformare i file .pbm o .ppm in .png con trasparenza poi puoi usare
      `
      pnmtopng -transparent white immagine0.pbm
      `
      che dovrebbe creati immagine0.png con il bianco trasformato in trasparenza.

      In questo modo dovresti poter evitare di caricare quel mattonazzo di Gimp 🙄

    • #16990
      Up
      0
      Down
      ::


      Grazie per il suggerimento 😀 . Non ho ancora avuto occasione di provarlo, però ho visto che non ho installato il pacchetto pnmtopng: ho provato a cercare con apt ma non l’ho trovato. Mi sai dire il nome esatto del pacchetto?
      Una domanda: a tuo parere il fatto che il .pdf finale sia il risultato di 2 conversioni non inficia la qualità dell’immagine ottenuta?
      Un saluto

    • #16991
      Up
      0
      Down
      ::

      Grazie per il suggerimento 😀 . Non ho ancora avuto occasione di provarlo, però ho visto che non ho installato il pacchetto pnmtopng: ho provato a cercare con apt ma non l’ho trovato. Mi sai dire il nome esatto del pacchetto?

      netpbm

      Una domanda: a tuo parere il fatto che il .pdf finale sia il risultato di 2 conversioni non inficia la qualità dell’immagine ottenuta?

      No, le immagini pnm e png sono bitmap ‘integrali’.

    • #16992
      Up
      0
      Down
      ::


      Riapro questo topic per riportare una stranezza che ho osservato. Ho creato con LaTeX un .pdf in cui le immagini sono inserite secondo quanto precedentemente riportato usando TeXLive su Linux. Un mio amico ha fatto la stampa del documento da WinXP e i box colorati hanno cambiato colore: invece di dare sul rosastro danno decisamente sul giallo!
      Qualcuno ha una spiegazione per questo arcano?

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

Go to top