2012-04-29 11 views
10

Ho dati MIME multiparte che voglio convertire in PDF usando XSL: FO. Sono a mio agio reading MIME utilizzando Apache James e ho una presa su embedded image data in Mime o inline images in HTML. Ho cercato diligentemente SO per "[xsl-fo] inline graphic" e "[xsl] +html +mime +image" e ho trovato in qualche modo the opposite e un precurser quello che sto facendo. Anche Google on "convert HTML MIME to XSL:FO" è stato inconcludente.Dati di immagine incorporati in XSL: FO/Apache FOP

Quello che voglio fare è avere un elemento (o un insieme di elementi) che rende un grafico (JPG/PNG/GIF - tutti o alcuni di essi) nell'output PDF di una trasformazione XSL: FO. I dati grafici devono essere inclusi nello all'interno del file .fo come dati codificati Base64 (o altrimenti) all'interno di. Ho trovato come fare riferimento a external graphics, ma nulla sui dati grafici incorporati.

Come funzionerebbe?

risposta

25

L'elemento fo:external-graphic può essere utilizzato anche per incorporare dati in linea. Basta usare la seguente sintassi:

<fo:external-graphic src="url('data:image/jpeg;base64,<DATA>')"/> 

<DATA> dovrebbe essere sostituito con la stringa di dati Base64 dell'immagine JPEG.

+0

Eccellente, grazie! – stwissel

+0

@ Martin, puoi indicare qualche documentazione di riferimento dove questo è spiegato? Secondo la specifica XSL, il valore dell'attributo 'src' dovrebbe essere una" specifica uri "(' src = url (...) '). – mzjn

+1

@mzjn: hai ragione. Avrei dovuto avvolgere il valore 'src' con' url() 'per essere conforme allo standard. Dal momento che principalmente utilizzo la FOP che accetta la forma abbreviata, non ho pensato al costrutto esplicito 'url()'. Modificheremo la risposta di conseguenza. – Martin

Problemi correlati