Desenvolvimento - C#
Imprimir com Visual Studio.NET usando C#.NET
Bom dia pessoal, meu nome é Maurício Júnior e estou aqui para desenvolver mais um artigo que mostra como imprimir usando C#.NET
por Mauricio JuniorBom 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.
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.NET. 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" />
<input type="button" name="cmdImprimirHTML" onclick="imprimir()" value="Imprimir HTML" />
</form>
</body>
</html>
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, fico a disposição para ajudar.