3

HTMLページをPDFファイルとしてエクスポートするためにjspdfライブラリを使用することに成功せずに苦労しています。ここに同様の質問が1つありますが、悪い答えです。問題は UTF-8 文字にありますが、すべてのドキュメントを utf8 にしました。このライブラリ (parall.ax/products/jspdf) で š、č、ć などの文字を pdf に挿入するにはどうすればよいですか?

この問題を試すことができるリンクは次のとおりです ( http://balkanex.info/test/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.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 NEX PAGE" onClick="run();pdf();">
  </body>
</html>

runner.js

function run() {
    document.write('<div id="id1"><input type="text" id="name" value="Čimoki Šitano"></div><br/>');
    document.write('<div id="id3">This is the ordinary txt with č and š and ć</div><br/>');
    document.write('<button id="pdf">Export in pdf file</button></div>');
}

script.js

function pdf() {
$(function () {
    var doc = new jsPDF();
    doc.text(35, 25, "Here are the letters š and č and ć and ž");
    var specialElementHandlers = {
        'body': function (element, renderer) { 
            return true;
        }};
    $('#pdf').click(function () {
        doc.fromHTML($('#id3').html(), 15, 35, {
            'width': 170,
                'elementHandlers': specialElementHandlers
        });
        doc.save('sample.pdf');
    });
});
}
4

3 に答える 3

1

このライブラリは、これらの文字の一部をサポートしていません。そして開発者は、すぐにアクセスできるようになると語った.

ただし、これらの文字を使用したい場合は、問題のある文字の一部を置き換える画像を作成できます。

たとえば、Č という文字のイメージを作成し、特定のフィールドでこのイメージで文字を変更できます。かなりの作品です。したがって、ライブラリを変更することをお勧めします。

于 2014-03-12T15:34:14.593 に答える
0

jsPDF は、ASCII 範囲外のものをサポートしていません。https://github.com/MrRio/jsPDF/issues/12を参照してください。

于 2014-03-05T09:21:08.000 に答える