Converta HTML para PDF com 06 linhas de Código

amigo eu estava com esse problema, pois o conversor nao muda o tamanho da imganhm por css.
ex: eu usava a mesma imagem e ia redimencionando de 1 para 3 px.
a solucao foi mudar a funcao e botar duas imagens nao é o melhor mas foi como eu fiz.

Muito obrigada parece que deu certo

Pessoal, tenho um problema:

  • na página que eu estou tentando converter há uma função javascript que é invocada no evento onLoad (da tag body) que carrega vários dados no corpo da página, mas essa função não está sendo executada. Logo, é gerado o PDF sem esses dados (o que não me adianta de nada). Alguém sabe se tem alguma forma de fazer isto funcionar?

Olá tenho duas dúvidas , seguinte:
1º como faço usando esse código gerar um pdf de condeúdo de um <ui:define name=“conteudo”> ?

2º como faço para somente mostrar esse pdf na tela, sem a necessidade de salva-lo em disco(caso o usuário use outro caminho de disco ou memso outro sistema operacional), ou também se caso isso não for possível, abrir uma tela “salvar como” para que o usuário possa escolher o lugar para salvar o pdf gerado?

Abraço

Olá pessoal,

Primeiro de tudo, parabens Eder Baum, seu material postado é de muita valia para todos.

Estou tendo uma dificuldade para gerar PDF de uma pagina que as dimensões dela é maior que uma pagina A4, nem em paisagem ela cabe numa A4, tem alguma forma da pagina se redimencionar para que se enquadre numa pagina A4?

Obrigado,

Ola,

Estou tentando adicionar a fonte tahoma no pdf, pois nao esta gerando com a fonte que estou informando,
Este codigo esta dando erro, se eu coloco o caminho errado nao da erro.
alguem pode me ajudar?

package com.ederbaum.pdf;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.w3c.dom.Document;
import org.w3c.tidy.Tidy;
import org.xhtmlrenderer.pdf.*;

import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.BaseFont;

/**

  • @author Eder Baum

*/
public class Html2Pdf {
public static void convert(String input, OutputStream out) throws DocumentException{
convert(new ByteArrayInputStream(input.getBytes()), out);
}

public static void convert(InputStream input, OutputStream out) throws DocumentException{
	Tidy tidy = new Tidy();
	Document doc = tidy.parseDOM(input, null);
    ITextRenderer renderer = new ITextRenderer();
    try {   
        renderer.getFontResolver().addFont( "/com/ederbaum/pdf/util/font/TAHOMA.TTF", BaseFont.IDENTITY_H ,BaseFont.EMBEDDED);
    } catch (IOException e) {   
        e.printStackTrace();   
    }
    renderer.setDocument(doc, null); 
    renderer.layout();
    renderer.createPDF(out);
}	

}

Galera… mto legal essa solução.

Mas estou com um problema pra fazer funcionar com minha autenticação padrão do Tomcat…
Pq estou criando um novo URL como no exemplo:

URL u = new URL(serverUrl + url);
URLConnection conn = u.openConnection();
InputStream is = conn.getInputStream();

Html2Pdf.convert(is, resp.getOutputStream());

Mas como é criado uma nova conexão URL, a sessão atual é perdida…
Então oq sai impresso no meu PDF é justamente minha tela de logon, entenderam?

Como resolvo isso?

Ola amigos !!

Obrigado ao autor deste tópico pois foi muito útil para resolver meu problema.

A questão agora é a seguinte: estes jar’s são open source? GPL ?

Pergunto pois eu tive que utilizar aqui no meu trabalho. Teremos que adquirir licensa do iText, por exemplo?

Grato,
Rodrigo

Para aqueles que como eu queiram colocar margem, cabeçalho, rodapé no PDF sem muita complicação olham esse link click aqui
Quero falar que esse tópico me ajudou muito, está de parabéns quem o criou.
Falow!

To usando esse codigo para converter uma jsp em pdf

import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.w3c.dom.Document;
import org.w3c.tidy.Tidy;
import org.xhtmlrenderer.pdf.ITextRenderer;
import com.lowagie.text.DocumentException;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class Html2Pdf {

    public static void convert(String input, OutputStream out) throws DocumentException {
        convert(new ByteArrayInputStream(input.getBytes()), out);
    }

    public static void convert(InputStream input, OutputStream out) throws DocumentException {
        Tidy tidy = new Tidy();
        Document doc = tidy.parseDOM(input, null);
        ITextRenderer renderer = new ITextRenderer();
        renderer.setDocument(doc, null);
        renderer.layout();
        renderer.createPDF(out);
    }

    public static void main(String[] args) throws FileNotFoundException, DocumentException, IOException {
        URL url = new URL("http://localhost:8084/Simulador/servicos/simulador.jsp");
        URLConnection conn = url.openConnection();

        InputStream is = url.openStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);

        String linha = br.readLine();
        String aux ="";

        while (linha != null) {
            aux+=linha+"\n";
            linha = br.readLine();
        }
        System.out.println(aux);
        OutputStream os = new FileOutputStream("C:\\hello.pdf");
        Html2Pdf.convert(aux, os);
        os.close();
    }
}

Mas o ‘input’ nao sai, nenhum deles.

E agora ???

Quais libs você usou alem da iText?

Nunca tentei este tipo de implementação

Abraços!

Galera preciso de uma ajuda…
não estou conseguindo de jeito nenhum fazer aparecer as imagens no pdf…

segue como esta os codigo

String nomeArquivo = "EtqCuidadosEspeciais-" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".pdf";
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
HttpServletResponse response = super.getServletResponse();
response.setCharacterEncoding("ISO-8859-1");
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + nomeArquivo);
response.setHeader("Cache-Control", "no-cache");

		StringBuilder html = new StringBuilder();
		html.append(&quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;ISO-8859-1\&quot;?&gt;&quot;);
		html.append(&quot;&lt;!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"&gt;");
		//html.append("&lt;link rel='stylesheet' type='text/css' href='/static/css/ris.css' /&gt;");
		//html.append("&lt;link rel='stylesheet' type='text/css' href='/static/css/yahoo/menu.css' /&gt;");
		//html.append("&lt;link rel='stylesheet' type='text/css' href='/static/css/displaytag.css' /&gt;");
		html.append("&lt;html&gt;&lt;head&gt;");
		html.append("&lt;style type=\"text/css\"&gt;@page {  size: 210mm 291mm; }&lt;/style&gt;");
		//html.append("&lt;style type=\"text/css\"&gt;"+getCss()+"&lt;/style&gt;");
		html.append("&lt;/head&gt;");
		html.append("&lt;body&gt;");
		html.append("<br/>");
		//html.append(htmlToExport);
		html.append("<br/><br/>");
		html.append("&lt;table width=\"100%\" align=\"center\"&gt;");
		html.append("	&lt;tr&gt;");
		html.append("		&lt;td width=\"50%\" height=\"100%\" align=\"center\" style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;");
		html.append(getText("lbl.modelo"));
		html.append("		&lt;/td&gt;");
		html.append("	&lt;/tr&gt;");
		html.append("	&lt;tr&gt;");
		html.append("		&lt;td width=\"50%\" height=\"100%\" align=\"center\" style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;");
		html.append("			&nbsp");
		html.append("		&lt;/td&gt;");
		html.append("	&lt;/tr&gt;");
		html.append("	&lt;tr&gt;");
		html.append("		&lt;td width=\"50%\" height=\"100%\" align=\"center\"&gt;");
		html.append("				&lt;table cellspacing=\"0\" width=\"30%\" height=\"100%\" style=\"border: 1; border-style: solid;\" align=\"center\"&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td align=\"center\"&gt;");
		html.append("							&lt;table width=\"100%\"&gt;");
		for(FiguraEtiquetaVo f: result.getListaComposicao()) {
			
			// mostra o tipo da aplicação
			if (result.isMostraTipoAplicacao() && !f.getDsTipAplFib().equals("")) {
				html.append("						&lt;tr&gt;");
				html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + f.getDsTipAplFib() + "&lt;/td&gt;");
				html.append("						&lt;/tr&gt;");
			}
			if (getIdioma().trim().equals("br")){
				html.append("						&lt;tr&gt;");
				html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + f.getPcFibTxlArt() + "% " +
																												f.getDsFibTxl_prg() + "&lt;/td&gt;");
				html.append("						&lt;/tr&gt;");					
			}else if (getIdioma().trim().equals("es")){
				html.append("						&lt;tr&gt;");
				html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + f.getPcFibTxlArt() + "% " +
																												f.getDsFibTxlSph() + "&lt;/td&gt;");
				html.append("						&lt;/tr&gt;");
			}else if (getIdioma().trim().equals("en")){
				html.append("						&lt;tr&gt;");
				html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + f.getPcFibTxlArt() + "% " +
																												f.getDsFibTxlIgl() + "&lt;/td&gt;");
				html.append("						&lt;/tr&gt;");
			}
		}
		html.append("							&lt;/table&gt;");
		html.append("						&lt;/td&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td align='center'&gt;&nbsp&lt;/td&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td align='center'&gt;");
		html.append("							&lt;table id='tblFiguraLavagem' width='100%'&gt;");
		html.append("								&lt;tr&gt;");
		for(String imgEtiqueta: resultPedido.getImgManutencaoPeca()) {
			html.append("								&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" +
														[size=18][color=red][b]"<img  + imgEtiqueta + "\">&lt;/td&gt;");[/b]	[/color]	[/size]	}
		html.append("								&lt;/tr&gt;");
		html.append("							&lt;/table&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td align='center'&gt;");
		html.append("							&lt;table id='tblGrauInstrucao' width='100%'&gt;");
		for(FiguraEtiquetaVo figuraEtiquetaVo: result.getListaFigLav()) {
			html.append("								&lt;tr&gt;");
			html.append("								&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + figuraEtiquetaVo.getDsGrauInsSph() + "&lt;/td&gt;");
			html.append("								&lt;/tr&gt;");
		}
		html.append("							&lt;/table&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		String txtProduzido = "";
		String txtPara="";
		if(result.getTextoPaisProd().trim().equals("BR")){
			txtProduzido = getText("lbl.prod.mexico"); 
			txtPara = getText("lbl.prod.mexico.para");
			html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtProduzido + "&lt;/td&gt;");
			html.append("						&lt;/tr&gt;");
			html.append("						&lt;tr&gt;");
			html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtPara + "&lt;/td&gt;");
			html.append("						&lt;/tr&gt;");
		}else{
			txtProduzido = getText("lbl.prod.mexico.importado") 
							+ " " + infoImportado.getTxtPaisFabPed();
			String txtInsumo="";
			
			if(infoImportado.getTxtPaisOrigemInsumo()!=null 
					&& infoImportado.getTxtPaisOrigemInsumo().trim().equals("")){
				txtInsumo = getText("lbl.prod.mexico.importado.insumo") + " " + infoImportado.getTxtPaisOrigemInsumo();
			}
			html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtProduzido + "&lt;/td&gt;");
			html.append("						&lt;/tr&gt;");
			html.append("						&lt;tr&gt;");
			html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtInsumo + "&lt;/td&gt;");
			html.append("						&lt;/tr&gt;");
		}
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("					&lt;/tr&gt;");
		html.append("					&lt;tr&gt;");
		html.append("						&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("					&lt;/tr&gt;");
		if (resultPedido.getTipoPedidoPrg().trim().equals(TP_IMPORTADO_PRG)){
			String txtImportadoPor = getText("lbl.prod.mexico.importadopor");
			html.append("						&lt;tr&gt;");
			html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtImportadoPor + "&lt;/td&gt;");
			html.append("						&lt;/tr&gt;");
		}
		String txtCeA = getText("lbl.prod.mexico.cea");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtCeA + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtEndereco = getText("lbl.prod.mexico.endereco");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtEndereco + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtLocalidade = getText("lbl.prod.mexico.localidade");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtLocalidade + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtCidadeEstado = getText("lbl.prod.mexico.cidadeestado");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtCidadeEstado + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtCpPais = getText("lbl.prod.mexico.caixapostalpais");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtCpPais + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtRfc = getText("lbl.prod.mexico.rfc");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtRfc + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtTel1 = getText("lbl.prod.mexico.tel1");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtTel1 + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		String txtTel2 = getText("lbl.prod.mexico.tel2");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;" + txtTel2 + "&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		html.append("						&lt;tr&gt;");
		html.append("							&lt;td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\"&gt;&nbsp&lt;/td&gt;");
		html.append("						&lt;/tr&gt;");
		html.append("				&lt;/table&gt;");
		html.append("			&lt;/td&gt;");
		html.append("		&lt;/tr&gt;");
		html.append("	&lt;/table&gt;");
		html.append("	<br/>");
		html.append("&lt;/body&gt;&lt;/html&gt;");

		Html2Pdf.convert(html.toString(), outputStream, 1.5F, 1);
		response.setContentLength( outputStream.size() );
		
		ServletOutputStream sos = response.getOutputStream();
		outputStream.writeTo(sos);
		sos.flush();

Galera preciso de uma ajuda…
não estou conseguindo de jeito nenhum fazer aparecer as imagens no pdf…

segue como esta os codigo

[code]String nomeArquivo = “EtqCuidadosEspeciais-” + new SimpleDateFormat(“yyyyMMddHHmmss”).format(new Date()) + “.pdf”;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
HttpServletResponse response = super.getServletResponse();
response.setCharacterEncoding(“ISO-8859-1”);
response.setContentType(“application/pdf”);
response.setHeader(“Content-Disposition”, “attachment; filename=” + nomeArquivo);
response.setHeader(“Cache-Control”, “no-cache”);

		StringBuilder html = new StringBuilder();
		html.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
		html.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
		//html.append("<link rel='stylesheet' type='text/css' href='/static/css/ris.css' />");
		//html.append("<link rel='stylesheet' type='text/css' href='/static/css/yahoo/menu.css' />");
		//html.append("<link rel='stylesheet' type='text/css' href='/static/css/displaytag.css' />");
		html.append("<html><head>");
		html.append("<style type=\"text/css\">@page {  size: 210mm 291mm; }</style>");
		//html.append("<style type=\"text/css\">"+getCss()+"</style>");
		html.append("</head>");
		html.append("<body>");
		html.append("<br/>");
		//html.append(htmlToExport);
		html.append("<br/><br/>");
		html.append("<table width=\"100%\" align=\"center\">");
		html.append("	<tr>");
		html.append("		<td width=\"50%\" height=\"100%\" align=\"center\" style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">");
		html.append(getText("lbl.modelo"));
		html.append("		</td>");
		html.append("	</tr>");
		html.append("	<tr>");
		html.append("		<td width=\"50%\" height=\"100%\" align=\"center\" style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">");
		html.append("			&nbsp");
		html.append("		</td>");
		html.append("	</tr>");
		html.append("	<tr>");
		html.append("		<td width=\"50%\" height=\"100%\" align=\"center\">");
		html.append("				<table cellspacing=\"0\" width=\"30%\" height=\"100%\" style=\"border: 1; border-style: solid;\" align=\"center\">");
		html.append("					<tr>");
		html.append("						<td align=\"center\">");
		html.append("							<table width=\"100%\">");
		for(FiguraEtiquetaVo f: result.getListaComposicao()) {
			
			// mostra o tipo da aplicação
			if (result.isMostraTipoAplicacao() && !f.getDsTipAplFib().equals("")) {
				html.append("						<tr>");
				html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + f.getDsTipAplFib() + "</td>");
				html.append("						</tr>");
			}
			if (getIdioma().trim().equals("br")){
				html.append("						<tr>");
				html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + f.getPcFibTxlArt() + "% " +
																												f.getDsFibTxl_prg() + "</td>");
				html.append("						</tr>");					
			}else if (getIdioma().trim().equals("es")){
				html.append("						<tr>");
				html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + f.getPcFibTxlArt() + "% " +
																												f.getDsFibTxlSph() + "</td>");
				html.append("						</tr>");
			}else if (getIdioma().trim().equals("en")){
				html.append("						<tr>");
				html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + f.getPcFibTxlArt() + "% " +
																												f.getDsFibTxlIgl() + "</td>");
				html.append("						</tr>");
			}
		}
		html.append("							</table>");
		html.append("						</td>");
		html.append("					</tr>");
		html.append("					<tr>");
		html.append("						<td align='center'>&nbsp</td>");
		html.append("					</tr>");
		html.append("					<tr>");
		html.append("						<td align='center'>");
		html.append("							<table id='tblFiguraLavagem' width='100%'>");
		html.append("								<tr>");
		for(String imgEtiqueta: resultPedido.getImgManutencaoPeca()) {
			html.append("								<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" +
														[size=18][color=red][b]"<img src=\"file:///http://localhost:7001/srf/img/etiqueta/" + imgEtiqueta + "\"></td>");[/b]	[/color]	[/size]	}
		html.append("								</tr>");
		html.append("							</table>");
		html.append("					</tr>");
		html.append("					<tr>");
		html.append("						<td align='center'>");
		html.append("							<table id='tblGrauInstrucao' width='100%'>");
		for(FiguraEtiquetaVo figuraEtiquetaVo: result.getListaFigLav()) {
			html.append("								<tr>");
			html.append("								<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + figuraEtiquetaVo.getDsGrauInsSph() + "</td>");
			html.append("								</tr>");
		}
		html.append("							</table>");
		html.append("					</tr>");
		html.append("					<tr>");
		html.append("						<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("					</tr>");
		html.append("					<tr>");
		html.append("						<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("					</tr>");
		html.append("					<tr>");
		String txtProduzido = "";
		String txtPara="";
		if(result.getTextoPaisProd().trim().equals("BR")){
			txtProduzido = getText("lbl.prod.mexico"); 
			txtPara = getText("lbl.prod.mexico.para");
			html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtProduzido + "</td>");
			html.append("						</tr>");
			html.append("						<tr>");
			html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtPara + "</td>");
			html.append("						</tr>");
		}else{
			txtProduzido = getText("lbl.prod.mexico.importado") 
							+ " " + infoImportado.getTxtPaisFabPed();
			String txtInsumo="";
			
			if(infoImportado.getTxtPaisOrigemInsumo()!=null 
					&& infoImportado.getTxtPaisOrigemInsumo().trim().equals("")){
				txtInsumo = getText("lbl.prod.mexico.importado.insumo") + " " + infoImportado.getTxtPaisOrigemInsumo();
			}
			html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtProduzido + "</td>");
			html.append("						</tr>");
			html.append("						<tr>");
			html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtInsumo + "</td>");
			html.append("						</tr>");
		}
		html.append("					<tr>");
		html.append("						<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("					</tr>");
		html.append("					<tr>");
		html.append("						<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("					</tr>");
		if (resultPedido.getTipoPedidoPrg().trim().equals(TP_IMPORTADO_PRG)){
			String txtImportadoPor = getText("lbl.prod.mexico.importadopor");
			html.append("						<tr>");
			html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtImportadoPor + "</td>");
			html.append("						</tr>");
		}
		String txtCeA = getText("lbl.prod.mexico.cea");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtCeA + "</td>");
		html.append("						</tr>");
		String txtEndereco = getText("lbl.prod.mexico.endereco");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtEndereco + "</td>");
		html.append("						</tr>");
		String txtLocalidade = getText("lbl.prod.mexico.localidade");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtLocalidade + "</td>");
		html.append("						</tr>");
		String txtCidadeEstado = getText("lbl.prod.mexico.cidadeestado");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtCidadeEstado + "</td>");
		html.append("						</tr>");
		String txtCpPais = getText("lbl.prod.mexico.caixapostalpais");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtCpPais + "</td>");
		html.append("						</tr>");
		String txtRfc = getText("lbl.prod.mexico.rfc");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtRfc + "</td>");
		html.append("						</tr>");
		String txtTel1 = getText("lbl.prod.mexico.tel1");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtTel1 + "</td>");
		html.append("						</tr>");
		String txtTel2 = getText("lbl.prod.mexico.tel2");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">" + txtTel2 + "</td>");
		html.append("						</tr>");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("						</tr>");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("						</tr>");
		html.append("						<tr>");
		html.append("							<td style=\"color:#000000; font-family:Arial, sans-serif; font-size:15px;\">&nbsp</td>");
		html.append("						</tr>");
		html.append("				</table>");
		html.append("			</td>");
		html.append("		</tr>");
		html.append("	</table>");
		html.append("	<br/>");
		html.append("</body></html>");

		Html2Pdf.convert(html.toString(), outputStream, 1.5F, 1);
		response.setContentLength( outputStream.size() );
		
		ServletOutputStream sos = response.getOutputStream();
		outputStream.writeTo(sos);
		sos.flush();[/code]

Use a tag code quando colocar seu codigo fonte, senão fica ilegível para os outros membros.

foi mal esqueci denovo

E ai galera…

entao fiz um teste com meu codigo fonte para pegar uma imagem do C: e rolou legal…
mas como faço para fazer pegar uma imagem do contexto?
alguem ja passou por alguma experiencia e funcionou?

Att,
tiago

a imagem está como atributo do context?

preguiça de ler codigo

Está com o caminho do context
http://localhost:7001/srf/img/etiqueta/

pra pegar do contexto só usar /srf/img/etiqueta/ como path.

Já tentei também,
porém a imagem não aparece no pdf…
quando pego uma imagem do C e passo o caminho completo funciona…
porém não estou conseguindo fazer aparecer imagem no pdf qunado se trata de uma imagem que está na aplicação…