在Node JS / Express Web应用程序中生成PDF报告

我是一个新手,试图使用NodeJS / Express和Handlebars来构build一个Web应用程序来满足模板需求。

应用程序的一部分处理为销售生成发票。 我已经写了一个句柄模板以及一些JavaScript代码来处理添加/删除项目和计算总数等工作正常。

需要在包含添加在客户端的dynamic内容的NodeJS服务器上生成此发票的PDF格式。

我不确定如何着手实施。 我已经评估了客户端PDF生成选项,但这不是我的使用情况。

你可以让我知道,如果有可能在服务器端生成PDF,当客户端的HTML页面中有dynamic元素?

该应用程序类似于这个链接: http : //www.smarttutorials.net/invoice-system-using-jquery-autocomplete/

代码的dynamic部分如下:

//添加额外的表格行

var i=$('table tr').length; $(".addmore").on('click',function(){ html = '<tr>'; html += '<td><input class="case" type="checkbox"/></td>'; html += '<td><input type="text" data-type="productCode" name="itemNo[]" id="itemNo_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>'; html += '<td><input type="text" data-type="productName" name="itemName[]" id="itemName_'+i+'" class="form-control autocomplete_txt" autocomplete="off"></td>'; html += '<td><input type="text" name="price[]" id="price_'+i+'" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>'; html += '<td><input type="text" name="quantity[]" id="quantity_'+i+'" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>'; html += '<td><input type="text" name="total[]" id="total_'+i+'" class="form-control totalLinePrice" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>'; html += '</tr>'; $('table').append(html); i++; }); 

//删除选定的表格行

 $(".delete").on('click', function() { $('.case:checkbox:checked').parents("tr").remove(); $('#check_all').prop("checked", false); }); 

看作你的使用快递,并有能力创build与此数据的网页。

我会使用https://www.npmjs.com/package/phantom

这可以用来将您的网页转换为PDF,也可以使用CSS属性page-break-after ..等控制分页符。