<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2701415797500322093</id><updated>2011-11-27T16:25:28.874-08:00</updated><category term='Compressão'/><category term='fakepath'/><category term='MVC'/><category term='AjaxControlToolKit'/><category term='Pdf'/><category term='Ajuda'/><category term='IE8'/><category term='.Net'/><category term='file upload'/><category term='String'/><category term='IE'/><category term='Converter'/><category term='Descompressão'/><category term='syntax highlighter'/><category term='ConnectionString'/><category term='VB'/><category term='Word'/><category term='GZip'/><category term='Ajax'/><category term='1º Post'/><category term='ASP.NET'/><category term='Assitente'/><title type='text'>Eu programo .Net</title><subtitle type='html'>Discussões sobre desenvolvimento WEB. Asp.Net, MVC, bibliotecas javascript, windows, dicas, códigos e muito mais!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-2842064570306283596</id><published>2010-06-30T12:28:00.000-07:00</published><updated>2010-06-30T12:33:55.610-07:00</updated><title type='text'>Novo Blog</title><content type='html'>Aê, finalmente decidi postar novamente&lt;br /&gt;&lt;br /&gt;Porém... não vai ser nesse blog&lt;br /&gt;Agora meu novo blog é &lt;a href="http://brluz.wordpress.com/"&gt;http://brluz.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por favor acessem =)&lt;br /&gt;&lt;br /&gt;[]'s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-2842064570306283596?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/2842064570306283596/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2010/06/novo-blog.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/2842064570306283596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/2842064570306283596'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2010/06/novo-blog.html' title='Novo Blog'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-6365393710719254974</id><published>2009-10-01T11:27:00.000-07:00</published><updated>2009-10-01T11:45:37.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ConnectionString'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajuda'/><category scheme='http://www.blogger.com/atom/ns#' term='Assitente'/><title type='text'>Criar ConnectionString no Windows.</title><content type='html'>Segue abaixo uma ótima dica sobre criar ConnectionString.&lt;br /&gt;&lt;br /&gt;Para testar e obter a string de uma ConnectionString, crie um arquivo de texto:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT3YMKTdEI/AAAAAAAAAJw/gu4b-YO2Dz0/s1600-h/cria-arquivo-texto.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 271px;" src="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT3YMKTdEI/AAAAAAAAAJw/gu4b-YO2Dz0/s400/cria-arquivo-texto.png" alt="" id="BLOGGER_PHOTO_ID_5387703049195320386" border="0" /&gt;&lt;/a&gt;E renomeie ele para qualquer nome, mas certifique-se de alterar a extensão para &lt;span style="font-weight: bold;"&gt;udl&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT3s20IRXI/AAAAAAAAAJ4/laoc8n4JPog/s1600-h/arquivo-udl.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 207px; height: 237px;" src="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT3s20IRXI/AAAAAAAAAJ4/laoc8n4JPog/s400/arquivo-udl.png" alt="" id="BLOGGER_PHOTO_ID_5387703404242421106" border="0" /&gt;&lt;/a&gt;Após confirmar a alteração do arquivo, abra ele.&lt;br /&gt;Você verá o assistente de conexão do windows!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT4CF9jFhI/AAAAAAAAAKA/AZg4K9HMdjE/s1600-h/assistinte-conexao.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 338px; height: 400px;" src="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT4CF9jFhI/AAAAAAAAAKA/AZg4K9HMdjE/s400/assistinte-conexao.png" alt="" id="BLOGGER_PHOTO_ID_5387703769085711890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Agora é facil, crie e teste sua conexão. Após a conexão funcionar, clique em Ok.&lt;br /&gt;Altere a extensão do teu arquivo para .txt novamente.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XizkcJTyYBM/SsT4XQo8s7I/AAAAAAAAAKI/nttvSqZnPi0/s1600-h/arquivo-txt.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 221px; height: 185px;" src="http://4.bp.blogspot.com/_XizkcJTyYBM/SsT4XQo8s7I/AAAAAAAAAKI/nttvSqZnPi0/s400/arquivo-txt.png" alt="" id="BLOGGER_PHOTO_ID_5387704132729353138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Abra o arquivo e... Surpresa&lt;br /&gt;Você tem a sua string de ConnectionString!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT4lnRZDmI/AAAAAAAAAKQ/bz9ncVt-Lew/s1600-h/conexao-pronta.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 161px;" src="http://2.bp.blogspot.com/_XizkcJTyYBM/SsT4lnRZDmI/AAAAAAAAAKQ/bz9ncVt-Lew/s400/conexao-pronta.png" alt="" id="BLOGGER_PHOTO_ID_5387704379322732130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;É um facilitador e tanto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-6365393710719254974?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/6365393710719254974/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/10/criar-connectionstring-no-windows.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/6365393710719254974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/6365393710719254974'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/10/criar-connectionstring-no-windows.html' title='Criar ConnectionString no Windows.'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XizkcJTyYBM/SsT3YMKTdEI/AAAAAAAAAJw/gu4b-YO2Dz0/s72-c/cria-arquivo-texto.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-7060470135587320945</id><published>2009-10-01T06:13:00.000-07:00</published><updated>2009-10-01T06:17:15.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AjaxControlToolKit'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>Nova versão do AjaxControlToolKit saiu ontem</title><content type='html'>&lt;div&gt;Saiu a nova versão!&lt;/div&gt;&lt;div&gt;&lt;a href="http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33804"&gt;http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33804&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Existem dois novos controles nessa versão:&lt;/div&gt;&lt;div&gt;Seadragon – Muito legal, é um DeepZoom feito em javascript, muito impressionante. Gostei!&lt;/div&gt;&lt;div&gt;AsyncFileUpload – Permite fazer upload de arquivos sem postback.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tem um exemplo do Seadragon e um review do AsyncFileUpload aqui:&lt;/div&gt;&lt;div&gt; &lt;a href="http://weblogs.asp.net/bleroy/archive/2009/09/30/ajax-control-toolkit-new-controls-bug-fixes.aspx"&gt;http://weblogs.asp.net/bleroy/archive/2009/09/30/ajax-control-toolkit-new-controls-bug-fixes.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;O seadragon não está funcionando no meu Firefox 3.5, mas no Google Chrome 3.0 e no IE funciona muito bem. :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-7060470135587320945?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/7060470135587320945/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/10/nova-versao-do-ajaxcontroltoolkit-saiu.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/7060470135587320945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/7060470135587320945'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/10/nova-versao-do-ajaxcontroltoolkit-saiu.html' title='Nova versão do AjaxControlToolKit saiu ontem'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-2376454134274256927</id><published>2009-09-24T09:07:00.000-07:00</published><updated>2009-09-24T09:12:02.543-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='file upload'/><category scheme='http://www.blogger.com/atom/ns#' term='fakepath'/><title type='text'>O mistério sobre o fakepath</title><content type='html'>&lt;div&gt;&lt;p class="MsoNormal"&gt;Hoje fui enviar um email pelo Google Chrome [que esses dias atualizou sozinho para a versão 3 &lt;span style="font-family: Wingdings; font-family:Wingdings;"&gt;&lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;], mas o bendito estava travando o browser enquanto anexava arquivos no e-mail. Logo abri o IE8 e fui escrever o e-mail e anexar o arquivo.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Quando eu clico no meu arquivo para anexo, eu vejo no browser a seguinte pasta:&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XizkcJTyYBM/SruZrcaR3EI/AAAAAAAAAJU/qkVL8hmC4-k/s1600-h/fakepath.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 204px;" src="http://4.bp.blogspot.com/_XizkcJTyYBM/SruZrcaR3EI/AAAAAAAAAJU/qkVL8hmC4-k/s400/fakepath.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5385066751091399746" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;u&gt;fakepath&lt;/u&gt;&lt;/b&gt;? Eu nem sequer possuo tal pasta no meu computador.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Fui pesquisar sobre tal fato, e me deparei com o com este &lt;a href="http://acidmartin.wordpress.com/2009/06/09/the-mystery-of-cfakepath-unveiled/"&gt;artigo&lt;/a&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;O que ocorre é o seguinte: de acordo com as novas especificações no novo &lt;a href="http://www.w3.org/TR/html5/"&gt;HTML5&lt;/a&gt;, o controle de upload de arquivos não deve mais exibir a localização real dos arquivos. Em vez disso, ele exibe o C:\fakepath\.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Essa nova especificação já está implementada no Internet Explorer 8. O site somente mostrará a verdadeira localização do arquivo se ele estiver adicionado na coleção de sites confiáveis do browser.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-2376454134274256927?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/2376454134274256927/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/09/o-misterio-sobre-o-fakepath.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/2376454134274256927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/2376454134274256927'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/09/o-misterio-sobre-o-fakepath.html' title='O mistério sobre o fakepath'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XizkcJTyYBM/SruZrcaR3EI/AAAAAAAAAJU/qkVL8hmC4-k/s72-c/fakepath.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-3352063299822497939</id><published>2009-08-31T08:08:00.000-07:00</published><updated>2009-08-31T08:12:43.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB'/><category scheme='http://www.blogger.com/atom/ns#' term='Compressão'/><category scheme='http://www.blogger.com/atom/ns#' term='Descompressão'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='String'/><category scheme='http://www.blogger.com/atom/ns#' term='GZip'/><title type='text'>Compressão e descompressão de Strings</title><content type='html'>Compressão de strings é algo muito simples de ser realizado e ajuda muito em diversas situações.&lt;br /&gt;Diminuir o tamanho das mensagens enviadas em redes, chamadas de WebServices, WCF, etc.&lt;br /&gt;Segue abaixo o código para compressão e descompressão utilizando o algoritmo GZip, que já vem dentro do .Net framework.&lt;br /&gt;&lt;br /&gt;Comprimir:&lt;br /&gt;&lt;pre name="code" class="vb"&gt;&lt;br /&gt;    Public Shared Function Comprime(ByVal texto As String) As Byte()&lt;br /&gt;        Dim mem As MemoryStream = New MemoryStream()&lt;br /&gt;        Dim gz As GZipStream = New GZipStream(mem, CompressionMode.Compress)&lt;br /&gt;        Dim sw As New StreamWriter(gz)&lt;br /&gt;        sw.WriteLine(texto)&lt;br /&gt;        sw.Close()&lt;br /&gt;        Return mem.ToArray()&lt;br /&gt;    End Function&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Descomprimir:&lt;br /&gt;&lt;pre name="code" class="vb"&gt;&lt;br /&gt;    Public Shared Function Descomprime(ByVal valor As Byte()) As String&lt;br /&gt;        Dim retorno As String = Nothing&lt;br /&gt;        Dim mem As New MemoryStream(valor)&lt;br /&gt;        Dim gz As GZipStream = New GZipStream(mem, CompressionMode.Decompress)&lt;br /&gt;        Dim sr As StreamReader = New StreamReader(gz)&lt;br /&gt;        retorno = sr.ReadLine()&lt;br /&gt;        sr.Close()&lt;br /&gt;        Return retorno&lt;br /&gt;    End Function&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Simples!&lt;br /&gt;Abs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-3352063299822497939?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/3352063299822497939/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/compressao-e-descompressao-de-strings.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/3352063299822497939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/3352063299822497939'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/compressao-e-descompressao-de-strings.html' title='Compressão e descompressão de Strings'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-5444025296097503552</id><published>2009-08-25T06:03:00.000-07:00</published><updated>2009-08-25T07:16:47.707-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='VB'/><category scheme='http://www.blogger.com/atom/ns#' term='Converter'/><category scheme='http://www.blogger.com/atom/ns#' term='Word'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>Salvar Word para PDF.</title><content type='html'>Para salvar um documento de Word para PDF, a microsoft disponibilizou em seu site um &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4d951911-3e7e-4ae6-b059-a2e79ed87041&amp;amp;displaylang=en"&gt;Add-in&lt;/a&gt; para o Word 2007 que permite que esta operação seja realizada.&lt;br /&gt;&lt;br /&gt;Após a instalação, ao entrar no menu "Salvar como" do menu do word, existirá uma nova opção:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XizkcJTyYBM/SpPjpzN4U8I/AAAAAAAAAH8/i9gJ8rrXEes/s1600-h/word-pdf-xps-addin.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_XizkcJTyYBM/SpPjpzN4U8I/AAAAAAAAAH8/i9gJ8rrXEes/s200/word-pdf-xps-addin.png" alt="" id="BLOGGER_PHOTO_ID_5373889087645701058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Com a instalação deste Add-in, também fica possível salvar um documento Word em PDF via código.&lt;br /&gt;Obviamente, é necessário tem o Microsoft Word 2007 e o Add-in instalado na máquina que irá salvar o arquivo a ser convertido.&lt;br /&gt;Partindo do princípio, adicione a referência da dll "Microsoft.Officce.Interop.Excel" ao seu projeto dentro do Visual Studio.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XizkcJTyYBM/SpPpR-ehP3I/AAAAAAAAAIE/9yfF_tVWvhs/s1600-h/add-reference.png"&gt;&lt;img style="cursor: pointer; width: 442px; height: 310px;" src="http://2.bp.blogspot.com/_XizkcJTyYBM/SpPpR-ehP3I/AAAAAAAAAIE/9yfF_tVWvhs/s320/add-reference.png" alt="" id="BLOGGER_PHOTO_ID_5373895275421187954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abaixo está o código de uma função que recebe dois parâmetros, o primeiro é o caminho do arquivo de origem (word) e o segundo é o caminho do arquivo PDF que será criado.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="vb"&gt;&lt;br /&gt;''' &amp;lt;summary&amp;gt;&lt;br /&gt;''' Converte um arquivo Word para PDF.&lt;br /&gt;''' &amp;lt;/summary&amp;gt;&lt;br /&gt;''' &amp;lt;param name="sourceDocPath"&amp;gt;O caminho do arquivo Word.&lt;br /&gt;''' &amp;lt;param name="exportFilePath"&amp;gt;O caminho de saída do arquivo PDF. Esse arquivo será criado.&lt;br /&gt;''' &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;br /&gt;Public Sub TransformarEmPDF(ByVal sourceDocPath As String, ByVal exportFilePath As String)&lt;br /&gt;&lt;br /&gt;  Dim missing As Object = Type.Missing&lt;br /&gt;&lt;br /&gt;  Dim paramExportFormat As WdExportFormat = WdExportFormat.wdExportFormatPDF&lt;br /&gt;  Dim paramExportOptimizeFor As WdExportOptimizeFor = WdExportOptimizeFor.wdExportOptimizeForPrint&lt;br /&gt;  Dim paramExportRange As WdExportRange = WdExportRange.wdExportAllDocument&lt;br /&gt;  Dim paramExportItem As WdExportItem = WdExportItem.wdExportDocumentContent&lt;br /&gt;  Dim paramCreateBookmarks As WdExportCreateBookmarks = WdExportCreateBookmarks.wdExportCreateWordBookmarks&lt;br /&gt;&lt;br /&gt;  Dim paramOpenAfterExport As Boolean = False&lt;br /&gt;  Dim paramStartPage As Integer = 0&lt;br /&gt;  Dim paramEndPage As Integer = 0&lt;br /&gt;  Dim paramIncludeDocProps As Boolean = True&lt;br /&gt;  Dim paramKeepIRM As Boolean = True&lt;br /&gt;  Dim paramDocStructureTags As Boolean = True&lt;br /&gt;  Dim paramUseISO19005_1 As Boolean = False&lt;br /&gt;  Dim paramBitmapMissingFonts As Boolean = True&lt;br /&gt;&lt;br /&gt;  Dim wordApplication As ApplicationClass = New ApplicationClass()&lt;br /&gt;  Dim document As Word.Document = Nothing&lt;br /&gt;&lt;br /&gt;  Try&lt;br /&gt;      Dim paramFileName As Object = DirectCast(sourceDocPath, Object)&lt;br /&gt;&lt;br /&gt;      ' abre o documento.&lt;br /&gt;      document = wordApplication.Documents.Open(paramFileName, missing, missing, missing, _&lt;br /&gt;                                                missing, missing, missing, missing, missing, missing, _&lt;br /&gt;                                                missing, missing, missing, missing, missing, missing)&lt;br /&gt;&lt;br /&gt;      ' salva como um arquivo PDF.&lt;br /&gt;      document.ExportAsFixedFormat(exportFilePath, paramExportFormat, paramOpenAfterExport, _&lt;br /&gt;                       paramExportOptimizeFor, paramExportRange, paramStartPage, _&lt;br /&gt;                       paramEndPage, paramExportItem, paramIncludeDocProps, paramKeepIRM, _&lt;br /&gt;                       paramCreateBookmarks, paramDocStructureTags, paramBitmapMissingFonts, _&lt;br /&gt;                       paramUseISO19005_1, missing)&lt;br /&gt;&lt;br /&gt;  Catch ex As Exception&lt;br /&gt;      Throw ex&lt;br /&gt;&lt;br /&gt;  Finally&lt;br /&gt;&lt;br /&gt;      ' fecha o documento word e os discarta da memória&lt;br /&gt;      If Not document Is Nothing Then&lt;br /&gt;          document.Close(missing, missing, missing)&lt;br /&gt;          document = Nothing&lt;br /&gt;      End If&lt;br /&gt;&lt;br /&gt;      If Not wordApplication Is Nothing Then&lt;br /&gt;          wordApplication.Quit(missing, missing, missing)&lt;br /&gt;          wordApplication = Nothing&lt;br /&gt;      End If&lt;br /&gt;&lt;br /&gt;      GC.Collect()&lt;br /&gt;      GC.WaitForPendingFinalizers()&lt;br /&gt;      GC.Collect()&lt;br /&gt;      GC.WaitForPendingFinalizers()&lt;br /&gt;&lt;br /&gt;  End Try&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Para que o código desta função funcione é necessário adicionar os "imports":&lt;br /&gt;&lt;pre name="code" class="vb"&gt;&lt;br /&gt;Imports Microsoft.Office.Interop&lt;br /&gt;Imports Microsoft.Office.Interop.Word&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Assim, ao chamar a função TransformarEmPDF("c:/word.doc", "c:/arquivogerado.pfd") o arquivo word.doc será lido e um novo arquivo idêntico à ele será criado em c:/arquivogerado.pfd já no formato PDF.&lt;br /&gt;&lt;br /&gt;Abs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-5444025296097503552?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/5444025296097503552/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/salvar-word-para-pdf.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/5444025296097503552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/5444025296097503552'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/salvar-word-para-pdf.html' title='Salvar Word para PDF.'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XizkcJTyYBM/SpPjpzN4U8I/AAAAAAAAAH8/i9gJ8rrXEes/s72-c/word-pdf-xps-addin.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-3784368582220899621</id><published>2009-08-24T12:20:00.000-07:00</published><updated>2009-09-24T09:24:54.119-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syntax highlighter'/><title type='text'>SyntaxHighlighter - Instalação no Blogger/Blogspot</title><content type='html'>Assim com meu amigo Mário Guedes, eu também passei por uma pequena dor de cabeça para fazer o SyntaxHighlighter funcionar no blogspot.&lt;br /&gt;&lt;br /&gt;Para fazer o SyntaxHighlighter funcionar aqui, é necessário adicionar as seguintes referências Javascript no layout de seu blog (eu adicionei estas referências antes da tag &amp;lt;/body&amp;gt;)&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="js"&gt;&lt;br /&gt;&amp;lt;link href="http://flash-host.com.br/blog/sh/SyntaxHighlighter.css" rel="stylesheet" type="text/css"/&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shCore.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushCSharp.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushVb.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushXml.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushPython.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushJScript.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushDelphi.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushPhp.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript" src="http://syntaxhighlighter.googlecode.com/svn-history/r57/trunk/Scripts/shBrushSql.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script language="javascript"&amp;gt;&lt;br /&gt; dp.SyntaxHighlighter.BloggerMode();&lt;br /&gt; dp.SyntaxHighlighter.HighlightAll('code');&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Para escrever um trecho de código é simples, crie uma tag dentro do tipo "pre" e sete o atributo name para "code", e no atributo class é onde escolhe o &lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes"&gt;tipo da linguagem&lt;/a&gt;, ex: &amp;lt;pre name="code" class="csharp"&amp;gt;, depois é só colocar o seu código e depois fechar a tag pre com &amp;lt;pre&amp;gt;. e pronto, já está ok para visualização.&lt;br /&gt;Ex:&lt;br /&gt;&amp;lt;pre name="code" class="csharp"&amp;gt;&lt;br /&gt;public void Stuff() { }&lt;br /&gt;&amp;lt;pre&amp;gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-3784368582220899621?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/3784368582220899621/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/syntaxhighlighter-instalacao-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/3784368582220899621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/3784368582220899621'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/syntaxhighlighter-instalacao-no.html' title='SyntaxHighlighter - Instalação no Blogger/Blogspot'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-3168794412289765713</id><published>2009-08-21T06:54:00.000-07:00</published><updated>2009-08-24T12:10:18.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syntax highlighter'/><title type='text'>SyntaxHighlighter - Demo</title><content type='html'>&lt;div&gt;Meu grande amigo &lt;a href="http://eugostododelphi.blogspot.com/"&gt;Mario Guedes&lt;/a&gt; comentou comigo sobre o SyntaxHighlighter (&lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter"&gt;http://alexgorbatchev.com/wiki/SyntaxHighlighter&lt;/a&gt;), e eu achei muito interessante!&lt;/div&gt;&lt;div&gt;Como esse é um blog que tem como foco a programação, me senti na obrigação de incluir este ótimo recurso aqui também!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Demo SyntaxHighlighter:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;C#:&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;  Console.WriteLine("Hello SyntaxHighlighter!");&lt;br /&gt;  Console.ReadKey();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;VB.Net:&lt;br /&gt;&lt;pre name="code" class="vb"&gt;&lt;br /&gt;Public Sub HelloSyntaxHighlighter()&lt;br /&gt;  Console.WriteLine("Agora para VB.NET!")&lt;br /&gt;  Console.ReadKey()&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Delphi:&lt;br /&gt;&lt;pre name="code" class="delphi"&gt;&lt;br /&gt;procedure Exemplo;&lt;br /&gt;begin&lt;br /&gt;ShowMessage('Olá Mundo!');&lt;br /&gt;end;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Vou postar sobre como configurei esse "add in" posteriormente.&lt;br /&gt;&lt;br /&gt;Abs&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-3168794412289765713?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/3168794412289765713/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/syntaxhighlighter-demo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/3168794412289765713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/3168794412289765713'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/syntaxhighlighter-demo.html' title='SyntaxHighlighter - Demo'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2701415797500322093.post-868936506204253593</id><published>2009-08-11T13:12:00.000-07:00</published><updated>2009-08-11T13:31:50.448-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='1º Post'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>Hello World!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://weblogs.asp.net/blogs/marcochila/.NET%20pre%202008_559832F0.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 189px; height: 101px;" src="http://weblogs.asp.net/blogs/marcochila/.NET%20pre%202008_559832F0.jpg" alt="" border="0" /&gt;&lt;/a&gt;Olá!&lt;br /&gt;Depois de muito tempo pensando na idéia, finalmente vou escrever um blog sobre tecnologia e programação.&lt;br /&gt;Pretendo aqui escrever sobre novidades no mundo Microsoft e programação em geral. Assim também me mantendo atualizado sobre as novidades.&lt;br /&gt;&lt;br /&gt;Este blog será focado principalmente no desenvolvimento Web.&lt;br /&gt;Pretendo escrever sobre os dois Padrões disponíveis para o desenvolvimento web - WebForms - ASP.NET e MVC.&lt;br /&gt;Também falar sobre as bibliotecas javascript JQuery e Prototype, sempre.&lt;br /&gt;E quaisquer outros assuntos seguindo o ramo de Programação e Tecnologia.&lt;br /&gt;&lt;br /&gt;Um abraço a quem for acompanhar o blog!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2701415797500322093-868936506204253593?l=euprogramodotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://euprogramodotnet.blogspot.com/feeds/868936506204253593/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/hello-world.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/868936506204253593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2701415797500322093/posts/default/868936506204253593'/><link rel='alternate' type='text/html' href='http://euprogramodotnet.blogspot.com/2009/08/hello-world.html' title='Hello World!'/><author><name>Bruno Luz</name><uri>http://www.blogger.com/profile/13401893249101202279</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_XizkcJTyYBM/SoG-_yVIawI/AAAAAAAAAHA/BYFR1-3PZf0/S220/bru_luz69%40hotmail.com_61d987e9.jpg'/></author><thr:total>0</thr:total></entry></feed>
