LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Imprimir com Visual Studio.NET 2005 usando C#.NET.

por Mauricio Junior em 1/1/2011 0

Bom dia pessoal, meu nome é Maurício Júnior e estou aqui para desenvolver mais um artigo que mostra como imprimir usando C#.NET. É importante falar antes de tudo que para imprimir é muito fácil, o ato em si é muito fácil e simples, porém o devemos fazer algumas coisas para melhorar o processo ou forma de fazer o mesmo.

Para começar o artigo definitivamente, não posso deixar de criptografar mais uma frase a vocês. Tente decifra-la.

 

Dpnvojebef BTQOFUj.dpn

 

Veja que estou usando verdadeiramente o Visual Studio.NET 2005.

 

 

 

 

Essa ferramenta é muito poderosa e de fácil desenvolvimento. Mesmo para uma pessoa que nunca desenvolveu nenhuma linha de código, fica fácil desenvolver qualquer tipo de sistema autorizado e dinâmico. Navegava no fórum da MSDN e percebi que muitas pessoas estavam começando ou migrando para essa ferramenta. Por exemplo, pessoas que programavam com Visual Basic 6.0 e passaram para o VS 2005.  A essas pessoas, é importante informar que o ambiente agora é WEB e de fácil manuseio. Lógico que o ambiente windows também existem, mas estarei falando do WEB. Lembro quando programava com Visual Basic e tinha que mandar comandos para abrir o dialog e montar uma forma de impressão na mão quando não usava Crystal Report.

 

Hoje em dia o nosso cliente, ou seja, o browser como IE ou outros do mercado que gerencia isso em meu sistema.

 

 

 

 

Criei uma página chamada index.aspx cujo adicionei dois divs e um botão para imprimir. Quando o cliente ou usuário clicar no botão imprimir, o mesmo abrirá a caixa pedindo para informar a quantidade de impressão ou mesmo em qual impressora imprimir. Usando a programação em C#.NET segue o código para ver o exemplo.

 

 

 

 

Segue o código da página:

 

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class index : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

    protected void cmdImprimir_Click(object sender, EventArgs e)

    {

        Response.Write("<script>window.print();</script>");

    }

}

 

Apenas a linha da cor vermelha mostra como chamar a impressora e imprimir o conteúdo da página. Cliquei F5 e inicei o sistema normalmente, depois de clicar o botão IMPRIMIR que aparece na tela abaixo:

 

 

 

 

Bem simples e fácil. Agora usando HTML, vou gerar uma impressão dinâmica como imprimir a página sem o titulo que está na página. Criei outro botão para fazer o mesmo que chama cmdImprimirHTML. Veja a idéia dessa impressão:

 

Um botão html onde chama uma função que esconde o titulo da pagina, mando imprimir e depois mando o mesmo aparece novamente imprimindo apenas o conteúdo. Segue o código da página para análise.

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="index" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Imprimir</title>

    <script language=javascript>

        function imprimir(){

            window.titulo.style.display="none";

            window.print();

            window.titulo.style.display="";

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

        <div id="titulo">

            Título da página

        </div>

        <br /><br />

        <div id="conteudo">

            conteúdo da página

        </div>

        <br /><br />

        <asp:Button ID="cmdImprimir" Text="Imprimir" runat="server" OnClick="cmdImprimir_Click" />

        &nbsp;

        <input type="button" name="cmdImprimirHTML" onclick="imprimir()" value="Imprimir HTML" />

    </form>

</body>

</html>

 

Note o código que está em vermelho.

 

 

 

 

Note que depois de clicar em imprimir, o titulo da página sumiu e logo após apareceu com o dialog de impressora.

 

 

 

 

Com isso, a mesma irá imprimir sem o titulo.

Espero ter ajudado e agradeço a todos.

 

Qualquer dúvida estou a disposição para ajudar.

 

 

 

 

Mauricio Junior

Comunidade: www.aspneti.com ou www.aspneti.com.br

E-mail: mauricio@aspneti.com

 

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comentado por: cristovao morgado - 29/1/2007 8:50:15
Sobre o imprimir... a 2ª parte era desnessária...
sugiro que investige em CSS o parametro media="print"
Comentado por: Everton - 15/5/2009 0:00:00
Sei que ja escreveu este topico a algum tempo.
Mas valos la.
Eu gostaria de imprimir somente as informações que estão em um gridview. Como faço isso?
Comentado por: Everton - 15/5/2009 0:00:00
Sei que ja escreveu este topico a algum tempo.
Mas valos la.
Eu gostaria de imprimir somente as informações que estão em um gridview. Como faço isso?
Comentado por: Mauricio Junior - 15/5/2009 0:00:00
Olá Everton, obrigado por entrar em contato. Você faz a mesma coisa, esconde o restante das coisas em html e deixa apenas o grid. Dessa maneira só os dados do grid serão impressos. Espero ter ajudado, qualquer dúvida só postar.
Comentado por: Everton - 21/5/2009 0:00:00
Entendi , mais como faço para esconder , por exemplo, uma label ou um textbox ?
Comentado por: Mauricio Junior - 5/2/2010 0:00:00
Everton, você pode utilizar o visible = false. Entendeu?

Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Enviando E-mail com Anexo
Trabalhando com Session
Detectando Browser Mobile
Dica para Auto Completar Código
Framework SkyMenu
Dicas para programar melhor
Gerando instalador de serviço
Dica para acrescentar valor
Criando menu dinâmico com C#.NET (Passo 2) - Com diferenciação de usuário
Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Customizar Setup Layout
Dados via Post no VS 2005
Adicionando Ícones no Windows Forms
Vídeo HTC
GridView Parte III
Ophone The Microsoft - Vídeo
Mais um certificado Microsoft
Sistema de Login em ASP – Parte 10
Criptografando URL
Vídeo do Visual SourceSafe - Parte I
Deixando o componente ASP:MENU compatível com qualquer browser
Usando Themes ASP.NET 2.0 (Parte 2)
Organizando o projeto em camada
Documento padrão de desenvolvimento
Vídeo: postura, saúde e posicionamento na frente do computador
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte IV)
Trabalhando bem com o “using”
Vídeo: Série Atlas.NET - Parte I
Windows 7 funciona até no Mac
Ativando debug do VS no Vista
SmartNavigation – 1.0 e 1.1 MaintainScroll PositionOn Postback – 2.0
Usando Dll Nativa e Using
Desenvolvendo software com qualidade
Gerando Relatório e Exportando para o Excel Com Visual Studio.Net 2005
Generics usando Object DataSource




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC