Сохраните точную копию защищенной веб-страницы в векторно-графическом виде

9

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

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

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

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

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

Клейтон Стэнли
источник
1
Я думаю, что вы в замешательстве - PDF не векторный формат.
Кевин Панко
Не смущен; просто не слишком беспокоюсь о деталях того, что pdf - это контейнер, который может хранить вещи векторной графики, так как я думаю, что основной вопрос в этом вопросе передается
Clayton Stanley
Похоже, ваш вопрос звучит так: «Как я могу сохранить веб-страницу в виде файла PDF, в точности так, как он отображается на экране, и работать со страницей, для которой требуется пароль для входа?»
Кевин Панко
Не должен быть в формате PDF; это всего лишь один из способов сохранить веб-страницу с текстом в векторно-графическом виде. Я не обязан придерживаться этого формата. Я добавлю безопасный заголовок для второй заметки, так что это подчеркнуто лучше.
Клейтон Стэнли,

Ответы:

6

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

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

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

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

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

Кевин Панко
источник
1
Просто для полной документации я в конечном итоге использовал плагин Chrome Web Developer и редактировал CSS через этот плагин. Мне не удалось обновить страницу печати после редактирования css с помощью встроенных инструментов разработчика Google Chrome, но это, скорее всего, потому что я не знаком с этим инструментом.
Клейтон Стэнли,
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 (),
    система = требуется («система»),
    адрес, выход, размер;
    page.settings.userName = "serviceUserName"; // Я добавил это
    page.settings.password = "servicePassword"; // 2 строки здесь

if (system.args.length 5) {
nvuono
источник
фантомные камни!
Мэтью Локк