При рендеринге в pdf мне нужно, чтобы страница html составляла 100% от ширины печати. В противном случае контент отключается. Есть простой способ сделать это?По размеру содержимого в pdf
Я придумал обход, который получает ширину html после рендеринга, а затем устанавливает коэффициент масштабирования для принудительной правильной ширины.
var page = require('webpage').create(),
system = require('system'),
dpi = 89.9, // strange, but that's what I get on Mac
pageWidth = 210; // in mm
var getWidth = function() {
return page.evaluate(function() {
// get width manually
// ...
return width;
});
};
page.paperSize = {format: 'A4', orientation: 'portrait'};
page.open(system.args[1], function (status) {
window.setTimeout(function() {
page.zoomFactor = (pageWidth/25.4) * dpi/getWidth();
page.render(system.args[2]);
phantom.exit();
}, 200);
});
Ищет прямо вперед решение, потому что получение ширины требует от меня, чтобы сделать некоторые трюки из-за рамки я использую.
Я использовал то же самое решение, не смог найти альтернативы. Я использую окна и должен был жестко задавать dpi до 120. Я пробовал различные методы для получения DPI, однако возвращаемый ими DPI не работает, например. GetDeviceCaps (IntPtr hDC, int nIndex) возвращен 96. –
У меня было то же самое. Я фактически использую dpi на 89.9 для Linux, чтобы заполнить страницу без разницы. –