使用 pdfmake.js 在列中自动调整宽度图像
Auto width images in columns using pdfmake.js
我正在尝试创建一个简单的 2-up 图像布局,因此每张图像在两列中占页面宽度的 50%,但是 'auto' 或“*”宽度似乎不适用于图片。
有没有办法在不为图像设置明确宽度的情况下实现这一点?
或者如果不能,是否可以获取页面的宽度以便我自己计算?
编辑:
我试过的代码的简化版本是:
var dd = {
content: [
{
columns: [
{
image: 'sampleImage.jpg',
width: 'auto'
},
{
image: 'sampleImage.jpg',
width: '*'
}
]
}
]
}
使用这些自动宽度,我在控制台中得到 Uncaught Error: unsupported number: NaN
。但是,如果我将它们更改为固定宽度,它们就可以正常工作。
我不确定库中是否提供此功能。人们在 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
}
}
};
我正在尝试创建一个简单的 2-up 图像布局,因此每张图像在两列中占页面宽度的 50%,但是 'auto' 或“*”宽度似乎不适用于图片。
有没有办法在不为图像设置明确宽度的情况下实现这一点?
或者如果不能,是否可以获取页面的宽度以便我自己计算?
编辑:
我试过的代码的简化版本是:
var dd = {
content: [
{
columns: [
{
image: 'sampleImage.jpg',
width: 'auto'
},
{
image: 'sampleImage.jpg',
width: '*'
}
]
}
]
}
使用这些自动宽度,我在控制台中得到 Uncaught Error: unsupported number: NaN
。但是,如果我将它们更改为固定宽度,它们就可以正常工作。
我不确定库中是否提供此功能。人们在 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
}
}
};