我想使用“ pdf”包创建一个pdf文档。飞镖-页面上的示例运行正常:https://pub.dev/packages/pdf#-example-tab-
您可以看到该表是静态的。我想在pdf文档中创建一个动态表格。
列将是恒定的,但行必须是动态的。
我试图插入for()-循环。
语法不正确。
pdfWidget.Table.fromTextArray(context: context, data: <List<String>> [
<String>['Date', 'PDF Version', 'Acrobat Version'],
//.....
//more Strings here.....
]),
答案 0 :(得分:0)
我遇到了同样的问题。 这似乎对我有用。
pdf.addPage(
MultiPage(
build: (context) => [
Table.fromTextArray(context: context, data: <List<String>>[
<String>['Msg ID', 'DateTime', 'Type', 'Body'],
...msgList.map(
(msg) => [msg.counter, msg.dateTimeStamp, msg.type, msg.body])
]),
],
),
);
我的msgList
对象是自定义列表,即:List<SingleMessage>
答案 1 :(得分:0)
有几种方法可以做到,我更喜欢单独填写列表,例如:
List<List<String>> salidas = new List();
salidas.add(<String>['Title1','Title2', ... , 'Title n']);
for(var indice=0;indice<records.length;indice++) {
var recind = {
'field1': records[indice].Stringfield1,
'field2': records[indice].Stringfield2,
...
'fieldn': records[indice].Stringfieldn
};
salidas.add(recind);
}
...
fpdf.Table.fromTextArray(context: context,data: salidas),