2012-06-07 10 views
22

Ho il seguente:ImageMagick PDF to JPG a volte si traduce in sfondo nero

ghostscript-fonts-5.50-24 
ImageMagick-6.7.2-1 
ghostscript-9.02-1 

che io uso per creare una serie di JPG per ogni pagina utilizzando:

convert -density 175 -colorspace sRGB test.pdf -resize 50% -quality 95 test.jpg 

Quando eseguo questo su la mia macchina windows sembra funzionare bene, ma sul nostro server Linux abbiamo il problema dello sfondo nero.

I JPG risultanti hanno uno sfondo nero che rende l'immagine non leggibile, cosa mi manca o c'è qualcosa che dovrei fare per correggere questo?

Sono stato su google per giorni ma ogni suggerimento non sembra funzionare per me.

Ogni aiuto è molto apprezzato, grazie in anticipo :)

EDIT

Appena notato questa uscita per la conversione uno dei file PDF che produce lo sfondo nero:

**** Warning: Fonts with Subtype = /TrueType should be embedded. 
      The following fonts were not embedded: 
        Arial 
        Arial,Bold 
        Arial,BoldItalic 
**** This file had errors that were repaired or ignored. 
**** The file was produced by: 
**** >>>> Microsoft« Word 2010 <<<< 
**** Please notify the author of the software that produced this 
**** file that it does not conform to Adobe's published PDF 
**** specification. 

Questo sembra correlato ma, poiché non abbiamo il controllo su come vengono prodotti i PDF, abbiamo bisogno di un modo per correggere questo lato server.

Grazie ancora

+2

_Please avvisare l'autore del software_ - eh, buona fortuna con che ';-)'. – halfer

+0

Mi chiedo, impostare l'aiuto del colore '-background' qui? Forse hai bisogno di impostarlo su bianco? – halfer

+0

Sono riuscito a farlo funzionare convertendo in PNG anziché JPG poiché supportano la trasparenza. Grazie per l'aiuto – jhdevuk

risposta

6

semplice correzione per questo problema è quello di utilizzare un formato di immagine che supporta la trasparenza, come png.

Quindi:

convert -density 175 -colorspace sRGB test.pdf -resize 50% -quality 95 test.png 

problema risolto :)

+6

vorrei solo capire come farlo funzionare con jpg's ... – rogerdpack

+0

Che dire di -alpha off? – Nigralbus

+0

@rogerdpack, prova http://tinypng.org/ o [Migliorato pngquant] (https://github.com/pornel/improved-pngquant). Sai come salvare un PNG come immagine a colori indicizzati e sembra proprio come una GIF? Bene, si scopre che puoi fare la tavolozza dei colori indicizzata * e * preservare la trasparenza alfa. Il risultato è un PNG molto compresso che sembra quasi identico all'originale. [JPEG 2000] (http://en.wikipedia.org/wiki/JPEG_2000) avrebbe dovuto avere il supporto di trasparenza alfa per i file JPEG, ma il supporto del formato di file non ha mai veramente attirato la trazione nei browser web. – thirdender

39

imbattuto in questo oggi, ha trovato questo:

http://www.wizards-toolkit.org/discourse-server/viewtopic.php?f=3&t=20234

Sulla base di ciò, questi dovrebbero lavorare tutti:

  • -flatten
  • -alpha flatten
  • -alpha remove

Attualmente sto usando il seguito per il mio caso specifico che funziona alla grande:

convert -thumbnail "1280x800>" -density 300 -background white -alpha remove in.pdf out.jpg 
+0

Li ho provati, funzionano tutti. –

+3

Se si desidera dividere un PDF di più pagine in più file JPEG per pagina, '-flatten' non funzionerà, poiché schiaccia tutte le pagine in un'unica immagine. '' -alpha flatten' o '-alpha remove' è la strada da percorrere. – florian

+1

Per C# è possibile utilizzare: image.Alpha (AlphaOption.Remove); – Flappy

Problemi correlati