使用pdfmake.js在列中自动调整宽度图像

时间:2017-08-21 13:23:42

标签: javascript pdfmake

我正在尝试创建一个简单的2-up图像布局,因此每个图像在两列中的页面宽度为50%,但“自动”或“*”宽度似乎不适用于图像。

如果没有为图像设置明确的宽度,有没有办法实现这一目的?

如果没有,是否可以获得页面的宽度,以便我自己进行数学计算?

修改

我尝试的代码的简化版本是:

var dd = {
content: [
    {
        columns: [
            {
                image: 'sampleImage.jpg',
                width: 'auto'
            },
            {
                image: 'sampleImage.jpg',
                width: '*'
            }
        ]
    }
]
}

使用这些自动宽度,我只需在控制台中获取Uncaught Error: unsupported number: NaN。但是,如果我将它们更改为固定宽度,它们可以正常工作。

1 个答案:

答案 0 :(得分:1)

我不确定库中是否提供此功能。人们已经在pdfmake github问题页面上提出了这个问题,同样的问题仍然存在。

但你仍然可以通过获取页​​面宽度来实现它。

var pageWidth = 900;
var pageHeigth = 1000;

var docDefinition = {
    pageSize: {
        width: pageWidth,
        height: pageHeigth
    },
    pageMargins: [10, 10, 10, 10],
    content: [{
        image: imageEncodedData,
        width: pageWidth / 2, // for 50 % image width
        height: pageHeigth / 2, // change the numbers accordingly
        absolutePosition: {  // absolute positioning if required
            x: 270,
            y: 45
        }
    }
};