Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PDFKIT流量数据将转到每行的新页面_Javascript_Node.js_Pdfkit - Fatal编程技术网

Javascript PDFKIT流量数据将转到每行的新页面

Javascript PDFKIT流量数据将转到每行的新页面,javascript,node.js,pdfkit,Javascript,Node.js,Pdfkit,我有一个函数,它根据数组生成一行数据。对于第一页来说效果非常好,但是一旦数据溢出到doc.text(“exmaple”,70560)附近,当Y坐标设置为560时,它就会转到下一页。但除此之外,下一次迭代应该生成doc.text(“example2,70600”)进入第3页和第4页,进入下一项,依此类推。这种行为是不可预期的,因为它会在第二页中创建一个新行。下面列出了完整的代码。我不擅长JS和node,因此可能会犯一些愚蠢的错误。问题开始于数组的第10项左右,或者如上所述的y坐标为560 cons

我有一个函数,它根据数组生成一行数据。对于第一页来说效果非常好,但是一旦数据溢出到
doc.text(“exmaple”,70560)
附近,当Y坐标设置为560时,它就会转到下一页。但除此之外,下一次迭代应该生成
doc.text(“example2,70600”)
进入第3页和第4页,进入下一项,依此类推。这种行为是不可预期的,因为它会在第二页中创建一个新行。下面列出了完整的代码。我不擅长JS和node,因此可能会犯一些愚蠢的错误。问题开始于数组的第10项左右,或者如上所述的y坐标为560

const doc = new PDFDocument({
    layout: 'landscape'
});
doc.pipe(fs.createWriteStream('output.pdf'));

const productCodes = ['JD100979758','JD4010069','JD5879085','JD7515824','JD7517614','JD100979758','JD4010069','JD5879085','JD7515824','JD7517614','JD100979758','JD4010069','JD5879085','JD7515824','JD7517614','JD100979758','JD4010069','JD5879085','JD7515824','JD7517614','JD100979758','JD4010069','JD5879085','JD7515824','JD7517614','JD100979758','JD4010069','JD5879085','JD7515824','JD7517614','JD100979758','JD4010069','JD5879085','JD7515824','JD7517614']
function generateDexTable(doc,product){
    let i,
    invoiceTableTop= 160;
        for(let i = 0;i<product.length;i++){
            const item = product[i]
            const position = invoiceTableTop+(i*40);
            doc.text(item,70,position)
        }
}
generateDexTable(doc,productCodes)
const doc=新PDF文档({
布局:“景观”
});
doc.pipe(fs.createWriteStream('output.pdf');
常量产品代码=“JD100100979797975758',“JD1001009797979797吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉吉珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠珠"JD100979758","JD4010069","JD5879085",,‘JD7515824’、‘JD7517614’、‘JD100979758’、‘JD4010069’、‘JD5879085’、‘JD7515824’、‘JD7517614’]
生成的函数可扩展(文档、产品){
让我,
发票桌面=160;

对于(设i=0;i我认为您可以通过使用文本块的默认高度和
moveDown()
)来简化此过程:

函数生成可扩展(文档、产品){
for(设i=0;i
我认为您可以通过使用文本块的默认高度和
向下移动()
来简化此过程:

函数生成可扩展(文档、产品){
for(设i=0;i
Perfect,非常感谢您的回复。效果很好:)Perfect,非常感谢您的回复。效果很好:)
function generateDexTable(doc, product) {

    for (let i = 0; i < product.length; i++) {
        const item = product[i];
        doc.text(item);
        doc.moveDown(3); // you can adjust this to get the desired margins between text blocks
    }
    doc.end();
}