Pergunta

Oi eu estou permitindo que os usuários para especificar se deseja imprimir os relatórios em um formato paisagem ou retrato.

Eu queria saber se é possível adicionar esse (ver abaixo) na cabeça da web do documento usando um angularjs directiva?De que forma ele irá alterar o tamanho de impressão, dependendo da entrada do usuário.

<style>@media print{@page {size: landscape}}</style>
Foi útil?

Solução

Isso depende se você vai usar essa funcionalidade em muitos lugares diferentes.Se você precisar apenas uma vez e, em seguida, uma directiva que pode ser um exagero.

Você pode simplesmente colocar

<style> @media print {@page { size: {{ orientation }} } }</style>

dentro de seu angular controlador, e especificar a orientação do $escopo.

Para meu conhecimento, não há nenhuma necessidade para o estilo da tag a ser na cabeça.

Outras dicas

Você pode usar o ngStyle diretiva condicional, aplicar css.Ver AngularJS ngStyle.O exemplo no final do link mostra como fazer isso.

Eu tinha que engradado personalizado de folha de estilos em tempo real com Identificações exclusivas, me fez muito bem o trabalho com angularJS como este :

<style type="text/css"
               ng-bind="vm.css">
        </style>

(nota: a utilização de ng-bind)

onde vm.css parece que no controlador

vm.css = `#${$scope.id} { background-color: red; }`

Espero que isso ajude!

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