无论我尝试什么,我都无法在第二列内部对齐表格。
var docDefinition = {
content: [
{
columns: [
{ text: 'Column 1',
},
[
{
text: 'Column 2',
alignment: 'right' // WORKS
},
{
alignment: 'right', // NO EFFECT
table: {
alignment: 'right', // NO EFFECT
body: [
['Date', '07/21/2017' ],
['Representative', 'Test' ]
]
}
}
]
]
}
]
};
pdfMake.createPdf(docDefinition).download();
https://jsfiddle.net/8kqnrduw/
我正在寻找任何可能的解决方法。
请帮忙
答案 0 :(得分:0)
您如何看待这个想法?
{
alignment: 'right',
columns: [
{
stack: [
{ table: {....}}
]
}
]
}
答案 1 :(得分:0)
您的问题text: 'Column 2'
的对齐和表格单元格内的每个文本的对齐一样。
在您的情况下,您创建了两列,每列为'*'
星形宽度(填充剩余宽度),这是默认列宽。因此,text: 'Column 1'
下面有text: 'Column 2'
和50%宽度列的50%宽度列,text: 'Column 2'
下有一个表格(不完全符合您的要求)。
所以,你应该做的是你需要在第二列text: 'Column 2'
下面的部分内创建一个嵌套的列结构,该列已经是页面的一半宽度。这个嵌套的列结构将涉及两列;一个用于表格,宽度与表格内的元素一样宽,另一个列为空白内容,只是为了让桌子远离正确的位置。
预期结果的工作代码如下。您还可以看到screenshot here for the code and its output at the pfdmake playground。
var docDefinition = {
content: [
{
columns: [
{
text: 'Column 1',
},
[
{
text: 'Column 2',
alignment: 'right' // Aligns 'Column 2' text to right
},
{
columns: [
{
text:'',
width: '*'
},
{
table: {
body: [
['Date', '07/21/2017' ],
['Representative', 'Test' ]
]
},
alignment: 'right', // Optional, for body texts
width: 'auto' // Changes width of the table
}
]
}
]
]
}
]
}
答案 2 :(得分:0)
尝试这样做:
body: [
[{text: 'Date', alignment: 'right'}, {text: '07/21/2017', alignment: 'right'}],
[{text: 'Representative', alignment: 'right'}, {text: 'Test', alignment: 'right'}]
]