Następnie chcę skorzystać mozilla pdf.js https://mozilla.github.io/pdf.js/ i wyświetlić ten dokument.
function renderPDF(dmsId, canvasContainer) { $.ajax({ type: "POST", url: '${viewerShowImage}', async: false, data : { dmsId : dmsId }, success:function (message) { var pdfAsArray = window.btoa(unescape(encodeURIComponent(message))); function renderPage(page) { var viewport = page.getViewport(scale, rotate); var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var renderContext = { canvasContext: ctx, viewport: viewport }; canvas.height = viewport.height; canvas.width = viewport.width; canvasContainer.appendChild(canvas); $("canvas").css("display","block"); page.render(renderContext); } function renderPages(pdfDoc) { for(var num = 1; num <= pdfDoc.numPages; num++) pdfDoc.getPage(num).then(renderPage); } PDFJS.disableWorker = true; PDFJS.getDocument("data:application/pdf;base64,"+pdfAsArray).then(renderPages); }, error: function() { addMessage({ type: 'ERROR', messageText: 'Wystąpił błąd podczas wyświetlania dokumentu.'}); } }); }
Niestety otrzymuję błąd:
Cytat
GET http://127.0.0.1:8080//viewer/54172272/0/P...Hk+PC9odG1sPg== 404 (Not Found)
Oczywiście pod tym adresem nie ma pliku, ale jak wczytać base64, aby wyświetlił mi się PDF?
Próbowałem zastosować:
http://stackoverflow.com/questions/1209263...-instead-of-url
Ale otrzymywałem błąd:
Cytat
Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
Obecnie próbuję to wdrożyć:
http://stackoverflow.com/questions/2322371...ntains-characte