在pdf中以宽度方式拟合内容

Ben*_* E. 3 pdf phantomjs

渲染为pdf时,我需要html页面为打印宽度的100%.否则内容会被切断.是否有捷径可寻?

我提出了一个解决方法,它在渲染后获取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);
});
Run Code Online (Sandbox Code Playgroud)

寻找一个直接的解决方案,因为获得宽度需要我做一些技巧,因为我使用的框架.

Dan*_*ana 6

管理通过添加以下CSS规则来解决此问题,该规则将缩小页面并使其适合:

 html {
    zoom: 0.60; 
  }
Run Code Online (Sandbox Code Playgroud)