Pergunta

Eu estou gerando um documento de HTML. Existe alguma maneira de forçar a página HTML para ser um processado como uma página impressa tempo?

Eu fiz a maior parte da página com <table> e <div> tags.

Foi útil?

Solução

Não exatamente, mas você pode usar uma impressão de folha de estilo:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

Para definir tamanhos de fonte, preenchimentos, etc, para unidades físicas como 'pt' (que nunca deve ser usado em uma tela de folha de estilo!) Para que ele acaba sendo mais ou menos uma página A4, quando renderizado em um típico navegador, com fontes típicas, com um vento a favor. Nada é garantido, mas você pode otimizar para o caso comum.

Em imprimir você não precisa se preocupar tanto sobre preferências de tamanho de fonte ou configurações de dpi, mas você ainda não pode controlar as margens dos usos do navegador ou o tamanho da página real (Carta EUA é menor do que A4), para que a licença uma boa quantidade de espaço de manobra e teste sobre os principais navegadores.

Outras dicas

No. Você não pode controlar o nível de zoom do usuário, configurações da impressora, tamanho do papel (ele está usando papel A4 na Europa ou jurídica nos EUA?) E todas as várias outras coisas que afetam a saída da impressora usando HTML.
o melhor que você pode fazer com HTML é fazer uma página muito simples "para impressão" e manter o curta conteúdo. Alternativamente, você pode construir um PDF, que é projetado para permitir que você controle como ele é impresso.

Use PDF. Você pode forçar muitas coisas como o tamanho da fonte, tipo de fonte e muitos outros parâmetros, mas qualquer navegador pode decidir que eles não se importam e uso o que quiserem e assim por violar seus pré-requisitos ou decisões. HTML não é (repete depois de mim: não é). Uma língua de apresentação

Em muitos casos, a maioria irá trabalhar, mas nada é certo.

Você pode usar CSS para o estilo da página e configurá-lo para uma altura certa / largura ... Há um bom tutorial aqui .

Não, mas você pode fazer a impressão ver uma suave muito usando um arquivo CSS específico para mídia impressa, como sugerido acima.

Em seguida, você poderia, por exemplo, pelo menos, impedir que uma tabela a partir abrangendo mais de 2 páginas usando "page-break-before: sempre;" .

E, finalmente, você também pode usar "display: none;" em elementos que são desnecessárias como anúncios, barras de navegação, etc, para manter a própria página mais curta (short suficiente para uma única página, espero).

Não há garantias, no entanto.

Claro. Você tem um par de possibilidades:

  • Converter sua página em uma imagem grande.
  • Converter sua página para PDF.
  • irrita todos os seus usuários com uma página com dimensões fixas que rola à esquerda e à direita, porque é muito grande e torna extremamente difícil de transportar a informação.

Não, não é uma forma que você não poderia saber o tipo de impressora ou o tamanho do papel no momento de tornar o HTML.

A minha única sugestão seria para definir as propriedades da impressora para escalar o conteúdo para caber uma página no momento da impressão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top