如何使用Wix Corvid将循环数据连接到pdfgeneratorapi?

问题描述

我正在使用https://pdfgeneratorapi.com/生成PDF。

现在我可以使用此代码一个一个地显示数据。任何人都可以给我建议如何用循环或其他方式显示所有数据吗? 下面的照片显示了我来自pdfgenerator的模板。

enter image description here

这是我用来生成PDF的代码

    let communicationWay1=[
    {0:"dim"},{1:"kal"}
    ];
    let cstomerExpence1=[
    {0:"dim"},{1:"kal"}
    ];
   let title="test";
   let names="test";
   let phone="test";
   let email="test";
let maritalStatus="test";
let city="test";
let other="test";

 const result = await wixData.query(collection)
 .eq('main_user_email',$w('#mainE').text)
         .find()
    .then( (results) => {
 if (results.totalCount>0) {
                    count=1;
 // title=results.items[1].title;
                        names=results.items[0].names;
                        email=results.items[0].emial;
                        phone=results.items[0].phone;
                        maritalStatus=results.items[0].maritalStatus;
                        city=results.items[0].city;
                        other=results.items[0].cousterExpenses_other;                       
                        title=results.items[0].title;
 
                        communicationWay=results.items[0].communicationWay;
                        cstomerExpence=results.items[0].cstomerExpence;

                }
 if (results.totalCount>1) {              
                        names1=results.items[1].names;
                        email1=results.items[1].emial;
                        phone1=results.items[1].phone;
                        maritalStatus1=results.items[1].maritalStatus;
                        city1=results.items[1].city;
                        other1=results.items[1].cousterExpenses_other;                      
                        title1=results.items[1].title;
                        communicationWay1=results.items[1].communicationWay;
                        cstomerExpence1=results.items[1].cstomerExpence;
                }
 
    } )
    .catch( (err) => {
      console.log(err);
    } );
 // Add your code for this event here:  
 const pdfUrl = await getPdfUrl
 ({title,names,email,phone,city,maritalStatus,other,communicationWay,cstomerExpence,title1,names1,email1,phone1,city1,maritalStatus1,other1,communicationWay1,cstomerExpence1   
    });
if (count===0) {    $w("#text21").show();}
else{        $w("#downloadButton").link=wixLocation.to(pdfUrl);}   

以下代码为后端代码/ JSW代码。 我也想在新标签页中打开pdf。我知道可以使用“ _blank”方法打开新标签页。但是我不确定如何使用url添加它

 import PDFGeneratorAPI from 'pdf-generator-api'

const apiKey = 'MYKEY';
const apiSecret = 'MYAPISECRET';

const baseUrl = 'https://us1.pdfgeneratorapi.com/api/v3/';
const workspace = "HELLO@gmail.com";
const templateID = "MYTEMPLATEID";

let Client = new PDFGeneratorAPI(apiKey,apiSecret)
Client.setBaseUrl(baseUrl)
Client.setWorkspace(workspace)

export async function getPdfUrl(data) {
 const {response} = await Client.output(templateID,data,undefined,{output: 'url'})
 return response
}

解决方法

只需将其放入具有布尔条件的while循环中即可。

您可以创建一个变量,例如allShowed,并将其值设置为False。之后,创建另一个变量,例如numberOfDataToShow,并将其设置为要显示的元素数。然后创建一个计数器countShowed,并以0作为其值进行初始化。

现在创建一个while循环:当allShowed的值为False时,您进行循环(并添加数据)。 每次显示一条数据时,您就增加countShowed的值(并将其设置为继续添加/显示数据)。如果countShowed的值与numberOfDataToShow完全相同,请将allShowed设置为True。循环将中断,并且将显示所有数据。

,

您需要使用 PDF Generator API 中的 ContainerTable 组件来迭代项目列表。正如@JustCallMeA 所说,您需要发送一系列项目。 PDF Generator API 现在有一个官方的 Wix Velo(以前是 Corvid)教程和一个演示页面:https://support.pdfgeneratorapi.com/en/article/how-to-integrate-with-wix-velo-13s8135

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...