Pergunta

Eu preciso exibir algum conteúdo HTML como ele será impresso. Basicamente, eu quero imitar o recurso de visualização de impressão do navegador.

Eu não sei como fazer isso apenas com HTML / CSS / JavaScript. A única solução que eu vim acima é converter o HTML para PDF Então é dividido em páginas e, em seguida, converter esse PDF para imagens e imprimir cada uma imagem abaixo do outro.

Será muito útil se alguém pode apontar um método para a frente mais reta. Eu nem tenho certeza se este é posibble.

BTW, eu estou usando PHP no backend, por isso, se há uma classe PHP para isso será útil.

O tamanho da página para diplaying será letra não importa o que o usuário tiver configurado

Este como se deve olhar no navegador: text alt

Foi útil?

Solução

Eu não acho que isso é possível. Você não pode saber todos os print-configurações dos usuários no navegador (javascript) e definitivamente não no servidor (PHP, ASP, Java).

update

Pense nisso desta maneira (por favor, tenha em mente que um digno 100% visualização de impressão maciços não é possível):

  • O usuário navega para a página e pede uma visualização de impressão
  • Site oferece visualização de impressão (de preferência em um formato HTML, caso contrário, png ou pdf)
  • Usuário gosta e quer imprimir:
    1. A partir do navegador
    2. De alguns exibição de imagem / edição de programa (png)
    3. A partir Acrobat (pdf)
  • Cada solução de impressão tem a sua própria cópia ... diálogo. Você pode alterar as configurações de impressão aqui.

É o último ponto onde tudo que você quer falhar ... Você não tem controle sobre a saída mais nesse ponto (de seu site) ...

Outras dicas

Como outros têm ponto fora, você não pode fazer isso. Minha recomendação é que você faça uma versão "para impressão" que só contém um fundo branco liso e um texto preto liso. Mas isso é o mais perto que você pode chegar ao "pré-visualização" actual.

HTML não foi realmente significou para layout de página, ele foi concebido para ser lido na tela. Porque é que a visualização da página navegadores não é bom o suficiente?

De qualquer forma, o que você poderia fazer é tentar converter o html ao látex ou algo semelhante, e tornar isso a um pdf ou png no lado do servidor e exibir isso. Mas isso impediria usando layouts html muito complicado caso contrário ele vai ficar muito desagradável.

Eu acho que há uma solução simples.

Você pode perguntar ao usuário o tamanho da página e superior, inferior, esquerda margens direita. Em seguida, processar a página em PDF usando essas configurações. PDF irá garantir que a página será impresso como gerado.

Penso que esta abordagem deve funcionar bem.

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