- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 jspdf autotable 插件将这两个表打印为 pdf。但我编写的脚本仅打印第二个表。我认为问题出在剧本的编写上。有人会指导我如何使用 jspdf-autotable 打印这两个表格吗?但我遇到了一个问题“未捕获类型错误:无法读取未定义的属性'finalY'”此错误将显示在控制台中。在这里,我将显示 4 个不同的表格宽度和高度,并且我打印了一个 pdf 页面。我已经编写了一些代码,但无法正常工作。
function generate() {
var doc = new jsPDF('p', 'pt', 'A4');
let finalY = doc.autoTable.previous.finalY;
var res = doc.autoTableHtmlToJson(document.getElementById('tbl1'));
doc.autoTable(res.columns, res.data);
var res2 = doc.autoTableHtmlToJson(document.getElementById('tbl2'));
doc.autoTable(res2.columns, res2.data, {
startY: doc.lastAutoTable.finalY + 50
});
doc.save("test.pdf");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.3/jspdf.debug.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/2.1.0/jspdf.plugin.autotable.js"></script>
<div class="col-md-3">
<table id="customers" class="table table-striped">
<colgroup>
<col width="60%">
<col width="60%">
</colgroup>
<tbody>
<tr style="background:#e5d56b;">
<th>8 Gauge / 4.0MM</th>
<th colspan="3">HOLE SIZE </th>
</tr>
<tr>
<td>Height</td>
<td style="background-color:#82ca2e;">2</td>
<td style="background-color:#82ca2e;">3</td>
<td style="background-color:#82ca2e;">4</td>
</tr>
<tr>
<td>3 Feet</td>
<td style="background-color:#82ca2e;">65</td>
<td style="background-color:#82ca2e;">44</td>
<td style="background-color:#82ca2e;">30</td>
</tr>
<tr>
<td>4 Feet</td>
<td style="background-color:#82ca2e;">86</td>
<td style="background-color:#82ca2e;">58</td>
<td style="background-color:#82ca2e;">40</td>
</tr>
<tr>
<td>5 Feet</td>
<td style="background-color:#82ca2e;">108</td>
<td style="background-color:#82ca2e;">73</td>
<td style="background-color:#82ca2e;">50</td>
</tr>
<tr>
<td>6 Feet</td>
<td style="background-color:#82ca2e;">129</td>
<td style="background-color:#82ca2e;">87</td>
<td style="background-color:#82ca2e;">60</td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-3">
<table id="customers1" class="table table-striped">
<colgroup>
<col width="60%">
<col width="60%">
</colgroup>
<tbody>
<tr style="background:#e5d56b;">
<th>10 Gauge / 3.0MM</th>
<th colspan="3">HOLE SIZE </th>
</tr>
<tr>
<td>Height</td>
<td style="background-color:#82ca2e;">2</td>
<td style="background-color:#82ca2e;">3</td>
<td style="background-color:#82ca2e;">4</td>
</tr>
<tr>
<td>3 Feet</td>
<td style="background-color:#82ca2e;">36</td>
<td style="background-color:#82ca2e;">23</td>
<td style="background-color:#82ca2e;">19 </td>
</tr>
<tr>
<td>4 Feet</td>
<td style="background-color:#82ca2e;">48</td>
<td style="background-color:#82ca2e;">30</td>
<td style="background-color:#82ca2e;">25</td>
</tr>
<tr>
<td>5 Feet</td>
<td style="background-color:#82ca2e;">60</td>
<td style="background-color:#82ca2e;">38</td>
<td style="background-color:#82ca2e;">31</td>
</tr>
<tr>
<td>6 Feet</td>
<td style="background-color:#82ca2e;">72</td>
<td style="background-color:#82ca2e;">45</td>
<td style="background-color:#82ca2e;">38 </td>
</tr>
</tbody>
</table>
</div>
<button onclick="javascript:demoFromHTML();" style="float:right;" class="btn btn-primary">Download PDF</button>
最佳答案
首先你可以更改脚本一旦检查这个脚本它就会工作
<script type="text/javascript">
document.getElementById('downloadbtn').addEventListener('click',
exportPDF);
var specialElementHandlers = {
// element with id of "bypass" - jQuery style selector
'.no-export': function(element, renderer) {
// true = "handled elsewhere, bypass text extraction"
return true;
}
};
function exportPDF() {
var pdf = new jsPDF('p', 'pt', 'a4');
var img = new Image;
pdf.text('Recommended Consumer Price list Month : <?php echo date('F Y'); ?>', 150,31);
pdf.text('Customer Care : 9010316786', 150,51);
pdf.text('email us : info@karimullagroup.com', 150,71);
pdf.text('Website : www.karimullagroup.com', 150,91);
var source = document.getElementById('canvas').innerHTML;
margins = {
top: 80,
bottom: 60,
left: 50,
width: 322
};
// all coords and widths are in jsPDF instance's declared units
// 'inches' in this case
pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},
function (dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
img.onload = function() {
pdf.addImage(this, 40, 10, 90, 70);
pdf.save('starfence.pdf');
} },margins);
img.crossOrigin = "";
img.src = "images/Starfence.png";
}
</script>
关于javascript - 如何使用 jspdf-autotable 打印四个不同的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60275555/
有人可以帮忙举一个为 jspdf-autotable 设置自定义字体的例子吗? 我尝试了以下 var doc = new jsPDF('p', 'pt'); doc.setFont("rotobo")
我在 Angular 应用程序上使用 JSPdf,我正在尝试使用 JS 自动表插件,但我遇到了 JS 错误 EXCEPTION: Uncaught (in promise): TypeError: d
我正在使用 jsPDF Autotable 从 HTML 表格生成 PDF。 TD 元素包含一个用变量填充单元格的 ID。一切正常,但我想将负值的 textColor 设置为红色。我找不到如何实现此目
我对 jsPDF autotable 有疑问。 我的代码: $('#printBtn').on('click', function() { var pdf = new jsPDF('p
我正在尝试创建一个如下所示的表格: 我已经实现了类似的目标,但我需要删除表格之外的边框。现在我使用 lineWidth: 0.2, lineColor: [73, 138, 159] 来创建边框,但这
我正在使用 jsPDF Autotable 生成包含多个表格的 pdf 文档。 函数生成(){ var doc = new jsPDF('l', 'pt', 'a3'); var res = do
下面是我从后端获得的示例响应。 let data = [ { "thisIsTheResponseFromBackEnd": [ { "Col Header 1": "
在网络应用程序中,我使用 JSPDF Autotable 来构建 PDF。问题是数据将是动态的(我将使用 AngularJS 1.x),因此行可以有不同的高度。 在某些情况下,Autotable 会打
我想用 JSPDF 导出 PDF,我使用插件作为“jspdf.autotable”来创建表格。现在的问题是我想要如下格式样式: 如您所见,表格外有一个边框,但标题部分没有,我已经实现了,但是当行超过页
我正在尝试使用 jsPdf Auto-table 将动态数据打印到 pdf 文件中。当我这样做时,我遇到了某种错误,例如 The headers should be an object or arra
我正在使用 angular2 和 Node JS。我已经安装了jspdf和 jspdf-autotable两个模块都使用 npm。在 angular-cli.json 文件中,我嵌入了脚本: "scr
我有自动表的问题。我的表由 thead、tbody 和 tfoot 组成。我的脚是我在每一列上的总值(value)。我能够生成 pdf,但 tfoot 或总页脚不断打印在每一页上。我在检查文档时使用
我有一个带有 rowspan/colspan 的 html 表格。我正在使用 jspdf 和 jspdf-autotable 将该 html 表格导出为 pdf。但是,保存的 pdf 有一个表,该表在
我尝试使用 jsPdf AutoTable 将动态数据打印到 PDF 中。但我未能做到这一点。我搜索了很多网站,但没有人提到将动态数据放入 Row 中。所以我的问题是,有没有什么方法可以将动态数据放入
我想使用 jspdf autotable 插件将这两个表打印为 pdf。但我编写的脚本仅打印第二个表。我认为问题出在剧本的编写上。有人会指导我如何使用 jspdf-autotable 打印这两个表格吗
我正在尝试使用 jspdf 和 jspdf-Autotable 构建一个小型应用程序,但我不知道如何使用另一个变量值创建自定义最后一行现有的表。 到目前为止我所做的是: doc.autoTable
我正在使用 jsPDF 从 HTML 表格生成 PDF 并且 jsPDF 很棒,预计我遇到一个问题,当我尝试包装 columnWidth 时,我的表格被切断了:( var doc = new jsPD
我正在尝试将“HTML 中的表格”与“页眉”结合起来...查看示例。我可以让每个人单独工作,但不能一起工作。 当我将两者结合起来时,我遇到了问题......你能看出我在这里做错了什么吗?为什么这不起作
有人使用 jsPDF autoTable 从 Table 中排除 pdf 结果中的列的经验..Would appriciate 一点帮助。 最佳答案 无论如何,在深入研究 API 和示例之后。我找到了
我正在尝试使用 JSPDF 和 AutoTable 从 html 表格生成 PDF 文件。 在我的示例中,有一个带有两个标题行的 html 表格,如下所示: ID
我是一名优秀的程序员,十分优秀!