<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Criando um documento Pdf com iTextSharp &#8211; Parte VI (Marca D´água)</title>
	<atom:link href="http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/</link>
	<description>Conhecimento na Nuvem...</description>
	<lastBuildDate>Wed, 04 Jan 2012 15:39:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: MATEUS</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-3124</link>
		<dc:creator>MATEUS</dc:creator>
		<pubDate>Mon, 02 Jan 2012 17:17:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-3124</guid>
		<description>ESTTOU CRIANDO UM JOGO E LA PEDE O  URL DA IMAGEM O QUE E URL EU NAO SEI</description>
		<content:encoded><![CDATA[<p>ESTTOU CRIANDO UM JOGO E LA PEDE O  URL DA IMAGEM O QUE E URL EU NAO SEI</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo Moreira</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-1672</link>
		<dc:creator>Marcelo Moreira</dc:creator>
		<pubDate>Mon, 08 Aug 2011 20:21:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-1672</guid>
		<description>Utilizo a rotina abaixo para gerar PDF, o grande problema é que utilizo o FCKEditor componente que permite edição de texto via web. Ex: o usuário digita um texto a esquerda e coloca uma imagem a direita deste texto, ao invés de exibir no PDF exatamente assim, ele exibi o texto e depois na linha debaixo o texto alinhado a direita.
Acredito que o erro esteja nesta linha:
ArrayList array = HTMLWorker.ParseToList(tempReader, new StyleSheet());
Como ele monta um array fica em linhas diferentes o texto e depois a imagem.
Algum de voces tem alguma solução para isto?
private void GeraPDFItextSharp(string html, string fileName, string author, string subject)
{
if (!string.IsNullOrEmpty(html) &amp;&amp; !string.IsNullOrEmpty(fileName) &amp;&amp;
!
string.IsNullOrEmpty(author) &amp;&amp; !string.IsNullOrEmpty(subject))
{
try
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader(&quot;content-disposition&quot;, string.Format(&quot;attachment;filename={0}.pdf&quot;, fileName));
HttpContext.Current.Response.Charset = string.Empty;
HttpContext.Current.Response.ContentType = &quot;application/pdf&quot;;
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
EnableViewState =
true;
int ContadorPagina = 1;
Document document = new Document(PageSize.A4, 36, 36, 38, 30);
PdfWriter pdfWriter = PdfWriter.GetInstance(document, HttpContext.Current.Response.OutputStream);
document.AddAuthor(author);
document.AddSubject(subject);
document.Open();
//Adiciona a marca d&#039;gua
iTextSharp.text.
Image Topo = iTextSharp.text.Image.GetInstance(@&quot;&quot; + ConfigurationManager.AppSettings[&quot;Imagens&quot;].ToString() + &quot;/header_veirano_novo.jpg&quot;);
iTextSharp.text.
Image Rodape = iTextSharp.text.Image.GetInstance(@&quot;&quot; + ConfigurationManager.AppSettings[&quot;Imagens&quot;].ToString() + &quot;/rodapeClipping.png&quot;);
document.SetPageSize(
PageSize.A4);
Paragraph ph = new Paragraph();
ph.Add(
new Chunk(&quot;\n&quot;));
Topo.SetAbsolutePosition(36, 785);
Rodape.SetAbsolutePosition(36, 10);
document.Add(Topo);
document.Add(ph);
document.Add(Rodape);
document.Add(ph);
string tempFile = Path.GetTempFileName();
using (StreamWriter tempwriter = new StreamWriter(tempFile, false))
{
tempwriter.Write(html);
}
using (StreamReader tempReader = new StreamReader(tempFile))
{
ArrayList array = HTMLWorker.ParseToList(tempReader, new StyleSheet());
for (int i = 0; i &lt; array.Count; i++)
{
document.Add((
IElement)array[i]);
if (pdfWriter.PageNumber != ContadorPagina)
{
Paragraph phi = new Paragraph();
phi.Add(
new Chunk(&quot;\n&quot;));
Topo.SetAbsolutePosition(36, 785);
Rodape.SetAbsolutePosition(36, 10);
document.Add(Topo);
document.Add(phi);
document.Add(Rodape);
document.Add(phi);
}
ContadorPagina = pdfWriter.PageNumber;
}
}
document.Close();
pdfWriter.Close();
File.Delete(tempFile);
HttpContext.Current.Response.Flush();
}
catch (Exception ex)
{
throw ex;
}
}
}</description>
		<content:encoded><![CDATA[<p>Utilizo a rotina abaixo para gerar PDF, o grande problema é que utilizo o FCKEditor componente que permite edição de texto via web. Ex: o usuário digita um texto a esquerda e coloca uma imagem a direita deste texto, ao invés de exibir no PDF exatamente assim, ele exibi o texto e depois na linha debaixo o texto alinhado a direita.</p>
<p>Acredito que o erro esteja nesta linha:</p>
<p>ArrayList array = HTMLWorker.ParseToList(tempReader, new StyleSheet());</p>
<p>Como ele monta um array fica em linhas diferentes o texto e depois a imagem.</p>
<p>Algum de voces tem alguma solução para isto?</p>
<p>private void GeraPDFItextSharp(string html, string fileName, string author, string subject)</p>
<p>{</p>
<p>if (!string.IsNullOrEmpty(html) &amp;&amp; !string.IsNullOrEmpty(fileName) &amp;&amp;</p>
<p>!</p>
<p>string.IsNullOrEmpty(author) &amp;&amp; !string.IsNullOrEmpty(subject))<br />
{</p>
<p>try<br />
{</p>
<p>HttpContext.Current.Response.Clear(); </p>
<p>HttpContext.Current.Response.AddHeader(&#8220;content-disposition&#8221;, string.Format(&#8220;attachment;filename={0}.pdf&#8221;, fileName)); </p>
<p>HttpContext.Current.Response.Charset = string.Empty; </p>
<p>HttpContext.Current.Response.ContentType = &#8220;application/pdf&#8221;; </p>
<p>HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;<br />
EnableViewState =</p>
<p>true; </p>
<p>int ContadorPagina = 1; </p>
<p>Document document = new Document(PageSize.A4, 36, 36, 38, 30); </p>
<p>PdfWriter pdfWriter = PdfWriter.GetInstance(document, HttpContext.Current.Response.OutputStream);<br />
document.AddAuthor(author);</p>
<p>document.AddSubject(subject);</p>
<p>document.Open();</p>
<p>//Adiciona a marca d&#8217;gua<br />
iTextSharp.text.</p>
<p>Image Topo = iTextSharp.text.Image.GetInstance(@&#8221;" + ConfigurationManager.AppSettings["Imagens"].ToString() + &#8220;/header_veirano_novo.jpg&#8221;);<br />
iTextSharp.text.</p>
<p>Image Rodape = iTextSharp.text.Image.GetInstance(@&#8221;" + ConfigurationManager.AppSettings["Imagens"].ToString() + &#8220;/rodapeClipping.png&#8221;);<br />
document.SetPageSize(</p>
<p>PageSize.A4); </p>
<p>Paragraph ph = new Paragraph();<br />
ph.Add(</p>
<p>new Chunk(&#8220;\n&#8221;));<br />
Topo.SetAbsolutePosition(36, 785);</p>
<p>Rodape.SetAbsolutePosition(36, 10);</p>
<p>document.Add(Topo);</p>
<p>document.Add(ph);</p>
<p>document.Add(Rodape);</p>
<p>document.Add(ph);</p>
<p>string tempFile = Path.GetTempFileName(); </p>
<p>using (StreamWriter tempwriter = new StreamWriter(tempFile, false))<br />
{</p>
<p>tempwriter.Write(html);</p>
<p>}</p>
<p>using (StreamReader tempReader = new StreamReader(tempFile))<br />
{</p>
<p>ArrayList array = HTMLWorker.ParseToList(tempReader, new StyleSheet()); </p>
<p>for (int i = 0; i &lt; array.Count; i++)<br />
{</p>
<p>document.Add((</p>
<p>IElement)array[i]); </p>
<p>if (pdfWriter.PageNumber != ContadorPagina)<br />
{</p>
<p>Paragraph phi = new Paragraph();<br />
phi.Add(</p>
<p>new Chunk(&quot;\n&quot;));<br />
Topo.SetAbsolutePosition(36, 785);</p>
<p>Rodape.SetAbsolutePosition(36, 10);</p>
<p>document.Add(Topo);</p>
<p>document.Add(phi);</p>
<p>document.Add(Rodape);</p>
<p>document.Add(phi);</p>
<p>}</p>
<p>ContadorPagina = pdfWriter.PageNumber;</p>
<p>}</p>
<p>}</p>
<p>document.Close();</p>
<p>pdfWriter.Close();</p>
<p>File.Delete(tempFile); </p>
<p>HttpContext.Current.Response.Flush();<br />
}</p>
<p>catch (Exception ex)<br />
{</p>
<p>throw ex;<br />
}</p>
<p>}</p>
<p>}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexandre Ribeiro Pedretti</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-804</link>
		<dc:creator>Alexandre Ribeiro Pedretti</dc:creator>
		<pubDate>Fri, 18 Feb 2011 21:00:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-804</guid>
		<description>Olá Pablo,
Gostei muito do post, consegui utilizar se código perfeitamente.
Ma será que é possível fazer isso dentro de uma PdfPCell?
Obrigado.</description>
		<content:encoded><![CDATA[<p>Olá Pablo,</p>
<p>Gostei muito do post, consegui utilizar se código perfeitamente.<br />
Ma será que é possível fazer isso dentro de uma PdfPCell?</p>
<p>Obrigado.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo Roveroni</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-252</link>
		<dc:creator>Pablo Roveroni</dc:creator>
		<pubDate>Sat, 20 Mar 2010 00:15:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-252</guid>
		<description>Marcelo,
acabei de efetuar testes com diversos caracteres e não encontrei problemas!
Acredito que o problema pode ser na maneira como você está passando este caractere, lembre-se ele é um caractere reservado e é necessário usar \ para que não haja problema com este caractere.</description>
		<content:encoded><![CDATA[<p>Marcelo,<br />
acabei de efetuar testes com diversos caracteres e não encontrei problemas!<br />
Acredito que o problema pode ser na maneira como você está passando este caractere, lembre-se ele é um caractere reservado e é necessário usar \ para que não haja problema com este caractere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo Roveroni</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-250</link>
		<dc:creator>Pablo Roveroni</dc:creator>
		<pubDate>Thu, 18 Mar 2010 12:55:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-250</guid>
		<description>Marcelo,
obrigado por acompanhar meus artigos, saber que alguém os lê é motivador e colocarei mais posts em breve.
Quanto a sua dúvida, não entendi o problema, mas as aspas estão no html que você quer transformar para pdf e ele não deixa? É isso mesmo? Ainda não tive nenhum problema com ele; não que eu tenha notado ou que alguém tenha reclamado. Mas farei alguns testes e caso encontre alguma coisa deste tipo, farei um post sobre o assunto.
Obrigado!</description>
		<content:encoded><![CDATA[<p>Marcelo,</p>
<p>obrigado por acompanhar meus artigos, saber que alguém os lê é motivador e colocarei mais posts em breve.<br />
Quanto a sua dúvida, não entendi o problema, mas as aspas estão no html que você quer transformar para pdf e ele não deixa? É isso mesmo? Ainda não tive nenhum problema com ele; não que eu tenha notado ou que alguém tenha reclamado. Mas farei alguns testes e caso encontre alguma coisa deste tipo, farei um post sobre o assunto.<br />
Obrigado!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo Roveroni</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-247</link>
		<dc:creator>Pablo Roveroni</dc:creator>
		<pubDate>Mon, 15 Mar 2010 14:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-247</guid>
		<description>Obrigado Carlos.
Infelizmente não conseguimos ver o arquivo em tempo de execução, pois criamos o arquivo, depois abrimos e criamos seu conteúdo e só quando fechamos o arquivo é que o liberamos para leitura.</description>
		<content:encoded><![CDATA[<p>Obrigado Carlos.<br />
Infelizmente não conseguimos ver o arquivo em tempo de execução, pois criamos o arquivo, depois abrimos e criamos seu conteúdo e só quando fechamos o arquivo é que o liberamos para leitura.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-245</link>
		<dc:creator>Marcelo</dc:creator>
		<pubDate>Sun, 14 Mar 2010 18:53:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-245</guid>
		<description>Muito bom esses seus artigos, estou precisando do itextsharp para passar alguns htmls para pdf e seus artigos me serviram  muito. Mas  ja pude perceber que ele não trabalha corretamente com algumas tags, como por ex: &quot;&quot; ele não fica 100%, então tive que criar um objeto datatable, popula-lo e depois adiciona-lo na string que ele passa pra pdf. você ja vivenciou e precisou contornar este ou outros problemas? se puder me responder ficarei grato. Estou te perguntando pois gostaria de saber se realmente é uma limitação do itextsharp ou se eu que não soube trabalhar com table nele... valeu...</description>
		<content:encoded><![CDATA[<p>Muito bom esses seus artigos, estou precisando do itextsharp para passar alguns htmls para pdf e seus artigos me serviram  muito. Mas  ja pude perceber que ele não trabalha corretamente com algumas tags, como por ex: &#8220;&#8221; ele não fica 100%, então tive que criar um objeto datatable, popula-lo e depois adiciona-lo na string que ele passa pra pdf. você ja vivenciou e precisou contornar este ou outros problemas? se puder me responder ficarei grato. Estou te perguntando pois gostaria de saber se realmente é uma limitação do itextsharp ou se eu que não soube trabalhar com table nele&#8230; valeu&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carlos Sampaio</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-242</link>
		<dc:creator>Carlos Sampaio</dc:creator>
		<pubDate>Tue, 09 Mar 2010 17:20:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-242</guid>
		<description>Pablo
Estou gostando de ler os artigos e achei bem didatico, eu gostaria de saber se é possivel visualizar o arquivo em tempo de execução.
Grato</description>
		<content:encoded><![CDATA[<p>Pablo</p>
<p>Estou gostando de ler os artigos e achei bem didatico, eu gostaria de saber se é possivel visualizar o arquivo em tempo de execução.<br />
Grato</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo Roveroni</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-119</link>
		<dc:creator>Pablo Roveroni</dc:creator>
		<pubDate>Wed, 05 Aug 2009 03:15:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-119</guid>
		<description>Leonardo,
legal você ter escrito. Isso significa que o que escrevo está servindo para alguém.
Bom..., mas vamos lá!
Refiz o código passo a passo como no exemplo citado a cima e funcionou certinho. Será que você não está esquecendo nenhuma parte do código? É importante você atentar que a inserção da imagem deve ocorrer antes do texto, seja ele uma nova frase ou um novo parágrafo.
Disponibilizei a nova biblioteca do iTextSharp e um código exemplo em http://www.dotnetmax.org/DNMBlog/wp-content/uploads/2009/08/MarcadAgua.rar
Mas se mesmo assim você ainda continuar com problemas, entre em contato com a gente.
abraço,
Pablo Roveroni</description>
		<content:encoded><![CDATA[<p>Leonardo,</p>
<p>legal você ter escrito. Isso significa que o que escrevo está servindo para alguém.<br />
Bom&#8230;, mas vamos lá!<br />
Refiz o código passo a passo como no exemplo citado a cima e funcionou certinho. Será que você não está esquecendo nenhuma parte do código? É importante você atentar que a inserção da imagem deve ocorrer antes do texto, seja ele uma nova frase ou um novo parágrafo.</p>
<p>Disponibilizei a nova biblioteca do iTextSharp e um código exemplo em <a href="http://www.dotnetmax.org/DNMBlog/wp-content/uploads/2009/08/MarcadAgua.rar" rel="nofollow">http://www.dotnetmax.org/DNMBlog/wp-content/uploads/2009/08/MarcadAgua.rar</a></p>
<p>Mas se mesmo assim você ainda continuar com problemas, entre em contato com a gente.</p>
<p>abraço,</p>
<p>Pablo Roveroni</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Bacellar</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-97</link>
		<dc:creator>Guilherme Bacellar</dc:creator>
		<pubDate>Wed, 29 Jul 2009 10:17:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-97</guid>
		<description>Leonardo,
sua reclamação foi enviada para o autor e ele irá lhe responder.</description>
		<content:encoded><![CDATA[<p>Leonardo,<br />
sua reclamação foi enviada para o autor e ele irá lhe responder.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leonardo</title>
		<link>http://www.dotnetmax.org/2009/06/05/criando-um-documento-pdf-com-itextsharp-parte-vi/comment-page-1/#comment-95</link>
		<dc:creator>Leonardo</dc:creator>
		<pubDate>Tue, 28 Jul 2009 17:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dotnetmax.org/?p=480#comment-95</guid>
		<description>Fiz o que está sendo indicado no tutorial acima.
A imagem foi adicionada, mas não como marca d&#039;água, pois o texto foi escrito após a imagem, não por cima da mesma.</description>
		<content:encoded><![CDATA[<p>Fiz o que está sendo indicado no tutorial acima.<br />
A imagem foi adicionada, mas não como marca d&#8217;água, pois o texto foi escrito após a imagem, não por cima da mesma.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

