Подтвердить что ты не робот

Управление DPI вывода изображения с помощью render()

Используя phantomjs, есть способ управлять настройкой DPI, используемой при растрировании изображения веб-контента с помощью page.render(filename) метод?

Я не могу найти ничего, что могло бы контролировать это через интерфейс api, но не знал, кто-то уже понял способ для этого.

Наш бизнес-пример выглядит следующим образом:

Пользовательский HTML-контент, созданный с помощью веб-приложения, подается в наш процесс rasterize.js phantom и запрашивается для определенного тега, чтобы установить клиентский прямоугольник. Этот клиентский прямоугольник визуализируется в PNG HTML, который затем может использоваться как изображение в другом месте.

Мы хотим, чтобы разрешение получаемого PNG было чем-то большим, чем значение по умолчанию, из-за сглаживания текста при некоторых нечетных размерах шрифта/смелых комбинациях.

4b9b3361

Ответ 1

Я могу смешивать DPI с чем-то другим, но вы заглянули в опцию zoomFactor? Установка этого объекта страницы приведет к увеличению отображаемого изображения.

Ответ 2

Эта вилка позволяет настроить dpi https://github.com/martonw/phantomjs/tree/issue-%2313553

Вы можете установить затем dpi с помощью page.dpi = 72

console.log('Loading a web page');  
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  page.dpi=300; // this is where you actually set the DPI
  page.render("test.pdf");
  phantom.exit();
});