Amostras

Amostras

Esta é uma questão crucial para muitos:

Pesquisando na web, encontrei várias ferramentas de linha de comando que permitem converter um documento HTML em um documento PDF, porém todas elas parecem usar seu próprio mecanismo de renderização bastante incompleto, resultando em baixa qualidade

Como você pode imprimir a saída renderizada de um navegador moderno em PDF (e/ou SVG), mantendo o máximo possível de gráficos vetoriais?

Existe uma solução chamada:webkit-pdf(que renderiza tudo em gráficos bitmap)

Estou à procura deopções,alternativas,sugestõestalvez até um driver de impressora ou serviços da web?

Atualização: Até agora encontrei o seguinte

Ligações:

Obrigado

Responder1

A saída renderizada é, por definição, uma imagem bitmap.

Os objetos vetoriais a partir dos quais a imagem bitmap foi construída não são acessíveis a partir dessa imagem renderizada.

Você teria que retornar ao HTML e CSS originais (etc) e usar esse material original para produzir uma nova representação baseada em vetor usando uma nova implementação paralela dos algoritmos de layout que foram usados ​​para produzir o bitmap.


A função “Imprimir como PDF” do Chrome parece preservar a natureza vetorial das fontes e algumas outras partes da imagem final – você pode ampliar indefinidamente, como mostrado abaixo, sem a pixelização óbvia obtida em imagens bitmap em PDFs.

insira a descrição da imagem aqui

Responder2

Você pode quererCriador de PDF(driver de impressora), é umprojeto de código abertohospedado emsourceforge.net.

Acabei de imprimir uma página HTML comVML(MSDN)gráfico vetorialincorporado do navegador IE, umSVGgráfico do navegador Firefox para o PDFCreator, e o PDFCreator retém esses dados vetoriais.

Se você não se importa com a diferença de resultados renderizados entre a tela e o dispositivo de impressora (como você mencionou no comentário sobre omeios de comunicaçãoatributo deestilotag), então PDFCreator é uma resposta.


Amostras

Saída renderizada original do navegador para o dispositivo de tela (logotipo SVG exibido no Firefox 15.0.1)

Gráfico SVG exibido no Firefox

Imprimir na impressora PDFCreator (renderizado para o dispositivo de impressora)

Visualize PDF em nível de zoom 100%

Zoom PDF 100%

Visualize PDF com nível de zoom de 150% (zoom sem perdas)

Zoom PDF 150%


Mais amostras baseadas no gráfico vetorial VML

sim, é apenas texto girado, mas é um gráfico vetorial VML

Código HTML do gráfico vetorial VML

<html xmlns:v='urn:schemas-microsoft-com:vml'>
    <head>
        <style>v\: * { behavior:url(#default#VML); display:inline-block }</style>
    </head>

    <body>
        <v:line from="0,100" to="200,0" style="float:left">
            <v:path textpathok="True"/>
            <v:textpath on="True" string="SuperUser.com"/>
        </v:line>
        <h1>Q479701</h1>
        <p>
            PDFCreator retains vector graph
        </p>
    </body>
</html>

informação relacionada