9

Я хотел бы сохранить точную копию веб-страницы в векторно-графической форме, поэтому я не могу использовать технику скриншотов (поскольку она сохраняет изображение в растрово-графической форме).

Я пробовал «печатать в pdf» и «сохранять как pdf» через Safari, Chrome и Firefox. Это работает большую часть времени. Однако сохраненный PDF-файл не является точной копией всех веб-страниц. Например, попробуйте сохранить эту веб-страницу в формате PDF и обратите внимание, что значки повышения / понижения не включены в сохраненный PDF-файл.

Я также пытался сохранить как веб-архив с Safari. Проблема здесь в том, что мне нужно обрезать полученный файл, и я не знаю, как обрезать WebArchive, так как Preview не может открыть его, и он просто открывается в Safari (обратно в квадрат).

Я также попробовал плагины для веб-браузера, которые обеспечивают решение в один клик для сохранения веб-страницы в формате PDF (векторно-графическая форма). Это работает лучше (точная страница сохраняется) и почти решает проблему, за исключением того, что эти программы работают, отправляя URL-адрес страницы в облачную программу для запроса, а затем сохраняют страницу. Это означает, что этот метод не будет работать для сайтов https, которым для входа в систему нужны мои учетные данные.

Так что я в углу. Я пытаюсь сохранить точную векторно-графическую копию веб-страницы, для просмотра которой нужны мои учетные данные. Как я могу это сделать?

2 ответа2

6

При печати страницы в PDF вы получаете другие результаты, чем при просмотре страницы на экране.

Это происходит потому, что веб-страница содержит таблицу стилей CSS, которая изменяет страницу при ее печати.

Этот вопрос поможет вам избежать этой проблемы:как печатать с таблицей стилей экрана?

Следуйте инструкциям, чтобы распечатать страницу с помощью экранной таблицы стилей.

Тогда вы сможете печатать в PDF и получать тот же результат, что и на экране.

4

Если вы не боитесь небольших сценариев, вы можете попробовать использовать приложение phantomjs для OSX с сайта http://phantomjs.org/

Затем вы просто запустите включенный двоичный файл, используя скрипт rasterize.js, с помощью команды:

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

Пара замечаний:

  • Он называется «rasterize.js», но сам текст сохраняется в PDF как фактический текст.

  • Аутентификация на защищенном сайте с использованием Windows-аутентификации может быть выполнена путем добавления пары строк в скрипт rasterize.js после инициализации объекта страницы:

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) {

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .