将html转换为pdf转换为空白pdf
我使用的代码建议在以下link。以下是我已经使用的pdf转换功能。将html转换为pdf转换为空白pdf
function pdfGenerator(){
var doc = new jsPDF();
var elementHandler = {
'#ignorePDF': function (element, renderer) {
return true;
}
};
var source = window.document.getElementsByTagName("body")[0];
doc.fromHTML(
source,
15,
15,
{
'width': 180,'elementHandlers': elementHandler
});
doc.output("dataurlnewwindow");
}
我已经下载在以下link提到的最新版本,并增加一条,作为外部JAR。 ü可以为所欲为建议如何包括
jspdf.js
jspdf.plugin.from_html.js
jspdf.plugin.split_text_to_size.js
jspdf.plugin.standard_fonts_metrics.js
脚本?我得到空白pdf作为输出。
您可以使用script标签的defer属性。
<script defer src="jspdf.js"></script>
<script defer src="jspdf.plugin.from_html.js"></script>
<script defer src="jspdf.plugin.split_text_to_size.js"></script>
<script defer src="jspdf.plugin.standard_fonts_metrics.js"></script>
<script defer src="/* YOUR SCRIPT HERE */"></script>
这样所有的脚本都会一个接一个地同步加载。 More info @ MDN
嘿!我已经添加了脚本,因为你已经建议并删除了删除了jspdf的zip文件,这是我在外部添加的。但是,现在没有生成pdf,我在Chrome控制台中出现以下错误:jspdf.plugin.from_html.js:424 Uncaught ReferenceError:$ is not definedGetCSS @ jspdf.plugin.from_html.js:424DrillForContent @ jspdf.plugin.from_html.js:492process @ jspdf.plugin.from_html。 js:550jsPDFAPI.fromHTML @ jspdf.plugin.from_html.js:591pdfGenerator @ prefilledform.js:37onclick @ DayCare.jsp:111 –
看来这段代码在自己内部使用了** jquery **,所以只需简单地添加'' –
这是更好地使用.save
函数而不是doc.output
,使其作为一个可下载的PDF格式,请确保你已经把这个settimeout
语句内为好。这是精炼的代码。
function pdfGenerator(){
var doc = new jsPDF();
var elementHandler = {
'#ignorePDF': function (element, renderer) {
return true;
}
};
var source = window.document.getElementsByTagName("body")[0];
doc.fromHTML(
source,
15,
15,
{
'width': 180,'elementHandlers': elementHandler
});
setTimeout(function(){
doc.save('test');
},2000);
}
希望这会有所帮助!
请提及您尝试更改以解决问题?任何小提琴? –
尝试在你的'doc.output(“dataurlnewwindow')'语句中添加'timeout'函数,比如'setTimeout(function(){doc.output(”dataurlnewwindow“)},1000);' –
我坚持添加插件脚本 –