Для многих это важный вопрос:
Поискав в Интернете, я нашел несколько инструментов командной строки, которые позволяют преобразовывать HTML-документ в PDF-документ, однако все они, похоже, используют свой собственный и довольно несовершенный движок рендеринга, что приводит к низкому качеству.
Как можно распечатать визуализированный вывод современного веб-браузера в формате PDF (и/или SVG), сохранив при этом как можно больше векторной графики?
Есть решение, которое называется:webkit-pdf(который преобразует все в растровую графику)
я ищупараметры,альтернативы,предложенияможет быть, даже драйвер принтера или веб-сервисы?
Обновление: Пока что я нашел следующее
Ссылки:
- Печать фоновых изображений с помощью таблиц стилей
- конвертироватьвебстраницу(вывод изображения)
- pdfmyurl(неплохо; помещает внутрь небольшой баннер; )
Спасибо
решение1
Результатом визуализации по определению является растровое изображение.
Векторные объекты, из которых было создано это растровое изображение, недоступны из этого визуализированного изображения.
Вам придется вернуться к исходному HTML и CSS (и т. д.) и использовать этот исходный материал для создания нового векторного представления с использованием новой параллельной реализации алгоритмов компоновки, которые использовались для создания растрового изображения.
Функция Chrome «Печать как PDF», по-видимому, сохраняет векторную природу шрифтов и некоторых других частей конечного изображения — вы можете увеличивать масштаб до бесконечности, как показано ниже, без очевидной пикселизации, которая наблюдается в растровых изображениях в PDF-файлах.
решение2
Вы можете захотетьPDF создатель(драйвер принтера), этопроект с открытым исходным кодомразмещено наsourceforge.net.
Я только что распечатал HTML-страницу сВМЛ(МСДН)векторный графиквстроенный из браузера IE,SVGграфик из браузера Firefox в PDFCreator, и PDFCreator сохраняет эти векторные данные.
Если вас не волнует разница в результатах визуализации между экраном и принтером (как вы упомянули в комментарии оСМИатрибутстильтег), то PDFCreator — это ответ.
Образцы
Оригинальный визуализированный вывод браузера на экран устройства (логотип SVG отображается в Firefox 15.0.1)
Печать на принтере PDFCreator (вывод на печатающее устройство)
Просмотреть PDF в масштабе 100%
Просмотр PDF с уровнем масштабирования 150% (масштабирование без потерь)
Больше примеров на основе векторного графа VML
да, это просто повернутый текст, но это векторная графика VML
HTML-код векторного графика 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>