Como imprimir um site renderizado em pdf ou gráficos vetoriais? [fechadas]

1

Esta é uma questão crucial para muitos:

Searching the web, I have found several command line tools that allow you to convert a HTML-document to a PDF-document, however they all seem to use their own, and rather incomplete rendering engine, resulting in poor quality

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

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

Estou procurando opções , alternativas , sugestões talvez até mesmo um driver de impressora ou webservices?

Atualização: Até agora eu encontrei o seguinte

Links :

Obrigado

    
por Lorenz Lo Sauer 26.09.2012 / 10:32

2 respostas

1

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

Os objetos vetoriais a partir dos quais essa 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 óbvia pixelação obtida das imagens de bitmap em PDFs. / p>

    
por 26.09.2012 / 11:06
1

Você pode querer PDFCreator (driver de impressora), é um projeto de código aberto hospedado em sourceforge.net .

Acabei de imprimir uma página HTML com VML (MSDN ) gráfico vetorial incorporado a partir do navegador IE, um gráfico SVG do navegador Firefox, para 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 o mídia da tag estilo ), o PDFCreator é uma resposta.

Amostras

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

ImprimirnaimpressoraPDFCreator(processadaparadispositivodeimpressora)

VerPDFnoníveldezoom100%

Ver PDF no nível de zoom 150% (zoom sem perda)

MaisamostrasbaseadasnográficovetorialVML

sim,éapenastextorotacionado,maséumgráficovetorialVML

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>
    
por 27.09.2012 / 08:39