Versao de pagina para impressao

Boa tarde!

Fiz uma pagina em JSP que me retorna o resultado todo dentro de uma tabelinha, tudo funcionando direitinho, mas acontece que agora eu preciso gerar uma versão da pagina para impressão, sem figuras, campos de formularios, so quero que sai o necessario e mais um cabecalho com os dados.
Eu havia visto uma dica na infoexame, que geraava automaticamente a pagina de impressão, so que e com Perl e o tutorial e de 2000, ja nao consegui configurar meu Apache/Tomcat para trabalhar. Abaixo esta o link da dica e se alguem tive alguma sugestao para me ajudar, eu desde ja estou agradecido.
[http://info.abril.com.br/edicoes/174/arquivos/2536_1.shl]

Abaixo a materia
Impressão? Vá de Perl


O modo de impressão econômica na Web é essencial para qualquer site. Você não quer virar alvo do Greenpeace, quer?

POR CARLOS MACHADO

Ao navegar na Web, você se interessa por um artigo e resolve imprimi-lo. O texto, na verdade, equivale a uma página, ou menos. Só que a impressora produz três ou quatro páginas recheadas de anúncios, barras laterais de menus, quadros e outros itens que não fazem parte do que você quer ler. Você se sente um tanto culpado pelo desperdício - de papel, de tinta ou toner e da própria impressora. Para resolver isso, vários sites na Internet passaram a oferecer uma opção chamada printer-friendly - ou seja, uma forma de tornar o documento mais fácil de imprimir e de ler. A solução consiste em passar à impressora apenas o conteúdo “líquido” do documento. Outra facilidade franqueada por alguns sites é o comando “Envie este artigo a um amigo”, embutido na página Web. Neste caso, a página incorpora um mecanismo que dispara o envio de uma mensagem de e-mail cujo conteúdo é a própria página. O destinatário a receberá em seu programa de correio eletrônico.

Você também pode incluir esses recursos em páginas de seu site. Precisa apenas ter conhecimentos medianos de HTML e ter acesso a um servidor Web. O HTML vai garantir que você crie e ajuste as páginas necessárias. O acesso ao servidor é essencial, porque tanto a alternativa de impressão econômica como o envio do documento por e-mail exigem a instalação de programas que devem rodar num servidor Web. Os programas que serão apresentados aqui podem ser reconfigurados e utilizados em diferentes situações.

Antes de tudo, é preciso assegurar a adequada configuração do servidor. Nossos dois programas são ambos scripts em linguagem Perl e foram escritos por Renato Botelho, webmaster do site de INFO, para um servidor Apache rodando em ambiente Linux. O Perl também trabalha em outras plataformas, mas os scripts vão precisar ser adaptados. Se você não controla a máquina Web, precisa pelo menos ter contato com alguém que o gerencie. O servidor Apache deve dar suporte a páginas do tipo SHTML, SHTM ou SHL, correspondentes a documentos HTML que podem ser montados dinamicamente por um script localizado no servidor. Para isso, é necessário fazer dois ajustes no arquivo httpd.conf, que reúne as configurações do Apache. Primeiro, localize as linhas

AddType text/html .shtml

AddHandler server-parsed .shtml

Mantenha esses comandos, acrescentando, ao final de cada um deles, as extensões .shtm e shl. A primeira linha ficaria assim:

AddType text/html .shtml .shtm .shl

Para a segunda alteração, localize, na seção , uma linha similar à seguinte:

Options Indexes FollowSymLinks MultiViews

Nela, acrescente a palavra Includes. Reinicie o Apache, e o sistema está pronto para os scripts que vamos utilizar. Também é um requisito obrigatório que o Apache esteja pronto para executar os programas CGI do Perl.

Passemos ao programa para imprimir páginas Web em formato mais legível e econômico. Como vimos, o recurso é disparado com um clique do mouse numa figura GIF. Em nosso exemplo, usamos o ícone de uma impressora ladeado pela legenda “Imprimir este artigo”. O clique na imagem traz ao browser uma versão mais simples da mesma página, contendo basicamente o texto do artigo, sem os menus, barras laterais e outros itens de auxílio à navegação.

Existem várias formas de oferecer esse tipo de recurso. Uma delas é gerar sempre duas páginas HTML: uma normal, tal como vai aparecer no site, e outra mais simples, apenas com o texto. Neste caso, a solução é simplíssima e se resolve com um link para o documento que contém somente o texto. O ponto mais frágil dessa abordagem é a duplicação de arquivos no servidor. Outra saída é a que vamos mostrar aqui. Ela funciona com páginas HTML comuns e com documentos SHL (veja o quadro). A parte a ser impressa deve ser delimitada por tags no seguinte formato:

<- inicio imprime ->

<- fim imprime ->

Chamado pelo clique na imagem GIF, o programa imprime.cgi lê o arquivo e procura essas tags no código HTML. Isso lhe permite extrair do documento somente os blocos de texto, com os quais monta dinamicamente uma página específica para ser impressa. Além do texto, você pode achar interessante adicionar a esta página um cabeçalho com o logotipo de sua empresa, o nome de seu site e outras informações. Também é fácil agregar um rodapé. Se o programa imprime.cgi for disparado a partir de uma página SHL, ele distinguirá, além dos trechos de texto, também os comandos de inclusão inseridos nesses trechos. Um exemplo de imprime.cgi está compactado no arquivo ftp://ftp.info.abril.com.br/scripts.tar.gz.

Agora, vamos ao programa que envia e-mail a partir da página HTML. O conteúdo do e-mail, como vimos, é a própria página. Tudo começa com um clique numa imagem GIF embutida no documento. A imagem apresenta a figura de um envelope e a legenda “Envie este artigo a um amigo”. Quando o internauta clica nela, o programa amigo.cgi, em Perl, é chamado à ação. Para isso, a tag que insere a figura na página deve ter o seguinte formato:

<a href="http://provedor.com.br/cgi-bin/amigo.cgi>

<img src=“http://provedor.com.br/images/amigo.gif”></a>

O programa então carrega outra página, form.html, que contém um formulário com três campos: o endereço eletrônico do destinatário, o endereço do remetente e espaço para um comentário. Assim, quem envia o artigo pode acrescentar alguma observação que será enxertada no início da mensagem. Naturalmente, os campos remetente e destinatário são de preenchimento obrigatório, enquanto o comentário é opcional.

Após preencher o formulário, o internauta clica no botão Enviar. O script amigo.cgi é convocado mais uma vez. Agora, ele lê as informações digitadas nos campos e verifica se os endereços são consistentes. Depois, captura o título da página HTML para ser o assunto da mensagem. O envio é feito mediante o uso do serviço Sendmail, um recurso específico das plataformas Unix. É por isso que os scripts em Perl que incluem o Sendmail não funcionam em servidores Windows, embora a linguagem tenha versão para essa plataforma. Antes de enviar o artigo, o programa amigo.cgi executa ainda alguma pequena tarefa de acabamento: suprime da página a imagem GIF que contém a legenda “Enviar este artigo para um amigo”. Ela não será necessária na máquina do destinatário.

Recapitulando: além do arquivo amigo.cgi, o programa requer dois outros arquivos - a página HTML a ser enviada (com a imagem GIF) e o arquivo form.html, com o formulário de envio. Você pode fazer o download de exemplos desses arquivos no site de INFO. Endereço: ftp://ftp.info.abril.com.br/scripts.tar.gz (o mesmo arquivo compactado contém os dois programas, amigo.cgi e imprime.cgi). Para que os exemplos funcionem em seu site, é preciso ajustar os diretórios indicados no início do código de amigo.cgi e especificar o endereço de amigo.cgi na linha que começa com "

Quem usa o Internet Explorer ou o Navigator pode achar inútil o programa amigo.cgi. Os dois browsers oferecem comandos para fazer isso: Arquivo/Enviar/Página por Correio Eletrônico (no IE) ou File/Send Page (no Navigator). Na verdade, o amigo.cgi é mais universal. Primeiro, ele independe do navegador (pode ser qualquer um, além dos dois grandes) ou da máquina em que você está vendo a página. Depois, o envio por esse método pode ser feito sem que exista na máquina nenhum programa de e-mail. Afinal, o servidor é que remete o e-mail e para isso são necessárias apenas as informações fornecidas na hora pelo internauta.
[/url]

Olha cara, eu num sou bom com java não! mas uma vez eu fiz isso com um javascript!

É só por o conteúdo que você quer colocar na página de impressão dentro de um DIV.

aí chama esse código aqui:


function imprimir&#40;&#41;
	&#123;
	var oPrint, oJan;
	oPrint = window.document.getElementById&#40;&quot;content&quot;&#41;.innerHTML;
	oJan = window.open&#40;&quot;impressao.htm&quot;&#41;;
	oJan.document.write&#40;oPrint&#41;;	
	&#125;

Aonde tá escrito content vc coloca o nome da tua div.
Ele vai criar uma página autpmática só com o conteúdo da DIV.

Vc agora só tem que criar um link tipo assim:

&lt;a href=&quot;#&quot; onClick=&quot;imprimir&#40;&#41;;&quot;&gt;Versão para impressão&lt;/a&gt;

Vou testar e repondo, valeu!