
asp.netでbase64のpdfファイルをpdf.jsを使用してcanvasに描画したいと考えています。
そこで、下記のjavascriptを組みました。
javascript
1<script type="text/javascript" src="../Pdf/build/pdf.js"></script> 2<script type="text/javascript"> 3 var pdfDoc; 4 var pdfDataX = 'base64文字列'; 5 pdfjsLib.GlobalWorkerOptions.workerSrc = '../Pdf/build/pdf.worker.js'; 6 pdfjsLib.GlobalWorkerOptions.cMapUrl = '../Pdf/web/cmaps/'; 7 pdfjsLib.GlobalWorkerOptions.cMapPacked = true; 8 (function() { 9 pdfjsLib.getDocument({data: atob(pdfDataX)}).then(function(pdf) { 10 pdfDoc = pdf; 11 for (var idx = 1; idx <= pdf.numPages; idx++) { 12 pdfDoc.getPage(idx).then(renderPDF); 13 } 14 }); 15 function renderPDF(page) { 16 var scale = 1.2; 17 var viewport = page.getViewport({ scale: scale, }); 18 var canvas = document.createElement('canvas'); 19 canvas.height = viewport.height; 20 canvas.width = viewport.width; 21 canvas.style.display = 'block'; 22 var ctx = canvas.getContext('2d'); 23 var renderContext = { 24 canvasContext: ctx, 25 viewport: viewport 26 }; 27 page.render(renderContext).then(function() { 28 document.getElementById('divコントロールID').appendChild(canvas); 29 }); 30 } 31 }()); 32</script>
結果、canvasにPDFの描画はされているのですが、文字化けを起こしてしまっています。
例)備考→備算
追記---
複数pdf表示されるため、上記のjavascriptが複数回実行される想定
調べてもいまいち原因が分からず、なにが原因か、どうすればいいかなどご教授お願いします。

