Salve uma cópia exata de uma página da Web segura em forma de gráficos vetoriais

8

Gostaria de salvar uma réplica exata de uma página da Web em forma de gráficos vetoriais, por isso não posso usar uma técnica de captura de tela (já que ela armazena a imagem em um formato de gráficos rastor).

Eu testei "imprimir para pdf" e "salvar como pdf" por meio do Safari, Chrome e Firefox. Isso funciona na maioria das vezes. No entanto, o PDF salvo não é uma réplica exata de todas as páginas da Web. Por exemplo, tente salvar esta página da Web como um arquivo PDF e observe como os ícones de votos / desvantagens não estão incluídos no PDF salvo.

Eu também tentei salvar como um WebArchive com o Safari. Problema aqui é que eu preciso cortar o arquivo resultante, e eu não sei como cortar um WebArchive, desde Pré-visualização não pode abri-lo, e ele simplesmente abre no Safari (de volta ao quadrado um).

Eu também experimentei plugins de navegadores que fornecem uma solução de um clique para salvar a página da Web como pdf (forma de gráficos vetoriais). Isso funciona melhor (a página exata é salva) e quase resolve o problema, exceto que esses programas funcionam enviando a URL da página para um programa baseado em nuvem para consulta e, em seguida, salva a página. Isso significa que essa técnica não funcionará para sites https que precisam das minhas credenciais para fazer login.

Então estou em um canto. Eu estou tentando salvar uma réplica de gráficos vetoriais exata de uma página da Web que precisa de minhas credenciais de logon para exibir. Como posso fazer isso?

    
por Clayton Stanley 02.10.2013 / 19:33

2 respostas

6

Você está obtendo resultados diferentes imprimindo a página em PDF do que vê ao visualizar a página na tela.

Isso acontece porque a página da Web inclui uma folha de estilo CSS que altera a página quando está sendo impressa.

Esta pergunta ajudará você a evitar esse problema: Como faço para imprimir com a folha de estilo da tela?

Siga as instruções para imprimir a página com a folha de estilo na tela.

Então você deve poder imprimir em PDF e obter o mesmo resultado que vê na tela.

    
por 02.10.2013 / 20:22
4

Se você não tem medo de um pequeno script, tente usar o aplicativo phantomjs para o OSX no link

Então você apenas executaria o binário incluído usando o script rasterize.js com um comando como:

phantomjs.exe rasterize.js http://www.example.com/sitepage 8.5in*11in outfile.pdf

Algumas notas:

  • Ele é chamado de 'rasterize.js', mas o texto em si é salvo no PDF como texto real.

  • A autenticação para um site seguro usando a autenticação do Windows pode ser realizada adicionando algumas linhas ao script rasterize.js depois de inicializar o objeto de página:

var page = require('webpage').create(),
    system = require('system'),
    address, output, size;
    page.settings.userName="serviceUserName"; // I added these
    page.settings.password="servicePassword"; // 2 lines here

if (system.args.length  5) {
    
por 02.10.2013 / 20:45