Javascript 如何使用jsPDF库将图像从HTML插入PDF?

Javascript 如何使用jsPDF库将图像从HTML插入PDF?,javascript,html,jspdf,Javascript,Html,Jspdf,由于jspdf不支持utf8字符,我尝试用图像替换部分字符,然后将其导出为pdf。为了帮助您理解,我制作了一个代码示例,我尝试将一个图像放入HTMLdiv中,然后用jspdf将其粘贴到pdf中。文本以pdf格式显示,但没有图像,那么问题是什么?我是一个初学者,所以请告诉我怎么做 尝试此链接并查看问题: 代码如下: start.html <!doctype> <html> <head> <meta charset="utf-8"> &

由于jspdf不支持utf8字符,我尝试用图像替换部分字符,然后将其导出为pdf。为了帮助您理解,我制作了一个代码示例,我尝试将一个图像放入HTMLdiv中,然后用jspdf将其粘贴到pdf中。文本以pdf格式显示,但没有图像,那么问题是什么?我是一个初学者,所以请告诉我怎么做

尝试此链接并查看问题:

代码如下:

start.html

<!doctype>
<html>
<head>
    <meta charset="utf-8">
    <script type="text/javascript" src="runner.js" charset="utf-8"></script>
    <script type="text/javascript" src="script.js" charset="utf-8"></script>
    <script type="text/javascript" src="jspdf/jquery/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="jspdf/jspdf.js"></script>
    <script type="text/javascript" src="jspdf/libs/Deflate/adler32cs.js"></script>
    <script type="text/javascript" src="jspdf/libs/FileSaver.js/FileSaver.js"></script>
    <script type="text/javascript" src="jspdf/libs/Blob.js/BlobBuilder.js"></script>
    <script type="text/javascript" src="jspdf/jspdf.plugin.addimage.js"></script>
    <script type="text/javascript" src="jspdf/jspdf.plugin.standard_fonts_metrics.js"></script>
    <script type="text/javascript" src="jspdf/jspdf.plugin.addimage.js"></script>
    <script type="text/javascript" src="jspdf/jspdf.plugin.split_text_to_size.js"></script>
    <script type="text/javascript" src="jspdf/jspdf.plugin.from_html.js"></script>
</head>

<body>
    <input type="button" id="btn" value="PROCEED TO THE NEXT PAGE" onClick="run();pdf();">
</body>
</html>

您使用的jspdf库不支持某些utf-8字母,因此我建议您使用其他库(如Mozilla的pdf.js)并避免这些问题

另一方面,如果您决定使用这个,那么您必须为保存字符串的每个变量创建一个数组,然后用图像替换字符。

请注意,Mozilla的pdf.js读取pdf,而jsPDF写入。
function run() {
    document.write('<div id="myid">This is the image: <img src="button.png" alt="Submit"> </div><br/>');
    document.write('<button id="pdf">Export in pdf</button></div>');
}
function pdf() {
$(function () {
    var doc = new jsPDF();
    var specialElementHandlers = {
        'body': function (element, renderer) { 
            return true;
        }};
    $('#pdf').click(function () {
        doc.fromHTML($('#myid').html(), 15, 35, {
            'width': 170,
                'elementHandlers': specialElementHandlers
        });
        doc.save('sample.pdf');
    });
});
}