Load base64 encoded string (pdf contnent) using WebViewer

1,629 views
Skip to first unread message

Rams Chowdary

unread,
Nov 15, 2016, 1:54:22 PM11/15/16
to PDFTron WebViewer
I'm trying to load base64 encoded string(pdf file content) using WebViewer and no luck yet.

var viewerElement = document.getElementById("viewer");
var binary_string = window.atob(base64encodedString);
var len = binary_string.length;
var bytes = new Uint8Array( len );
for (var i = 0; i < len; i++) {
bytes[i] = binary_string.charCodeAt(i);
}
var blob = new Blob([new Uint8Array(bytes.buffer)]);
var objectUrl = URL.createObjectURL(blob);

//I need use readerController and webviewer to load pdf data from objectUrl and not sure how I could do that

var myWebViewer = new PDFTron.WebViewer({
}, viewerElement);


$(viewerElement).on("pageChanged", function(event) {
alert("Current page is: " + myWebViewer.getCurrentPageNumber());
});
});

Matt Parizeau

unread,
Nov 16, 2016, 2:51:41 PM11/16/16
to pdfnet-w...@googlegroups.com
Thanks for the sample code. Does it work if you use code like the following:

var myWebViewer = new PDFTron.WebViewer({

  documentType
: "pdf",
  path
: 'lib',
}, viewerElement);


var binary_string = window.atob(base64encodedString);
var len = binary_string.length;
var bytes = new Uint8Array(len);
for(var i = 0; i < len; ++i) {
  bytes
[i] = binary_string.charCodeAt(i);
}

var blob = new Blob([bytes], {type:'application/pdf'});
var url = URL.createObjectURL(blob);

viewerElement.addEventListener('ready', function() {
  myWebViewer.loadDocument(url);
});

Matt Parizeau
Software Developer
PDFTron Systems Inc.
Reply all
Reply to author
Forward
0 new messages