Ir ao conteúdo

Posts recomendados

Postado

Boa noite a todos. Galera estou tentando imprimir uma 'div' que contém uma tabela com bordas. Porém a tabela perde a borda na tela de impressão. tentei usar '@media print', porém sem sucesso. Criei uma função para imprimir a div, ela é chamada através do botão imprimir.

<!DOCTYPE html>
<html>
<head>
	<title>Imprimir</title>
	
	<style type="text/css">
		table{
			border-collapse: collapse;
		}
		table td{

			border: 1px solid black;
		}
		@media print{
			table td{
				border: 1px solid black;
			}
		}
		.pp{
			width: 30px;
		}
	</style>
</head>
<body>
	<input type="button" onclick="cont('print');" value="Imprimir">
<div id="print">
	<table>
		
			
				<th>nome</th>
				<th>email</th>
				<th>telefone</th>
				<th>P</th>
				<th>F</th>
				<th>FJ</th>
			
		
		
			<tr>
				<td>Allan da costa</td>
				<td>[email protected]</td>
				<td>(21)97339-1150</td>
				<td class="pp"></td>
				<td class="pp"></td>
				<td class="pp"></td>
			</tr>
			<tr>
				<td>Allan da costa</td>
				<td>[email protected]</td>
				<td>(21)97339-1150</td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>Allan da costa</td>
				<td>[email protected]</td>
				<td>(21)97339-1150</td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>Allan da costa</td>
				<td>[email protected]</td>
				<td>(21)97339-1150</td>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td>Allan da costa</td>
				<td>[email protected]</td>
				<td>(21)97339-1150</td>
				<td></td>
				<td></td>
				<td></td>
			</tr>

		
	</table>
</div>
</body>
</html>
<script>
function cont(div){
   var conteudo = document.getElementById(div).innerHTML;
   tela_impressao = window.open('about:blank');
   tela_impressao.document.write(conteudo);
   tela_impressao.window.print();
   tela_impressao.window.close();
}
</script>


 

Postado

@cisneiro Bom o que falta é você passar o CSS para a página/Janela, que você cria para fazer a impressão.

 

Não é a melhor forma de fazer, mas funciona:

   let 
        conteudo = document.getElementById(div).innerHTML,
        style = document.getElementsByTagName('style'),
        tela = window.open('about:blank');


    tela.document.write(conteudo);
    tela.document.body.append(style[0]);
    tela.print();
    tela.close();

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!