2014-03-05 2 views
0

jspdf은 utf8 문자를 지원하지 않으므로 일부 문자를 이미지로 바꾸고 pdf로 내보내려고합니다. 이해하기 쉽도록 HTML 코드에서 이미지를 넣고 jspdf를 사용하여 pdf에 붙여 넣으려는 샘플 코드를 만들었습니다. 텍스트는 pdf로 표시되지만 이미지가 없으므로 문제점은 무엇입니까? 나는 초보자이기 때문에 어떻게하는지 설명해주십시오.jsPDF 라이브러리를 사용하여 HTML에서 PDF로 이미지를 삽입하는 방법은 무엇입니까?

이 링크를 시도하고 PROBLEM 참조 : http://www.balkanex.info/test/start.html

및 코드 아래와 같다 :

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> 

runner.js

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>'); 
} 

script.js

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'); 
    }); 
}); 
} 

답변

1

당신이 UTF-8 문자의 일부를 지원하지 않습니다 jspdf을 사용하는 라이브러리, 그래서 당신이 (모질라의 pdf.js 같은) 다른 어떤 LIB를 사용하여 이러한 문제를 방지하는 것이 좋습니다 .

다른 한편으로는 이것을 사용하기로 결정한 경우 - 문자열을 저장 한 다음 각 문자를 이미지로 바꾸는 각 변수에 대해 배열을 만들어야합니다.

+3

모질라의 ** pdf.js ** _reads_ PDF, ** jsPDF ** _writes_에 유의하십시오. –

관련 문제