JSFiddle - React, Tailwind, and code Playground
by musicreader
HTML
<script src="https://www.mrsync.com/js/jquery/jquery-2.1.3.min.js"></script>
<script src="https://www.mrsync.com/js/jqwidgets/jqx-all.js"></script>
PDF TEST<br/>
<input type="file" id="file-chooser" multiple="multiple" /><br />
JavaScript
$(document).ready(function () {
$.getScript("https://www.mrsync.com/js/pdf/pdf.js", function () {
PDFJS.disableAutoFetch=true;
/*PDFJS.disableStream=true;
PDFJS.disableRange=true;*/
PDFJS.workerSrc = "https://www.mrsync.com/js/pdf/pdf.worker.js";
//PDFJS.disableWebGL=true;
//PDFJS.disableWorker=true;
});
document.getElementById('file-chooser').onchange = function(e) {
var files = e.target.files; // FileList
var file=files[0];
loadPDF(file, processPDF);
};
});
function loadPDF(file,callback){
var d1=Date.now();
var reader = new FileReader();
reader.onload = function (evt) {
var result=evt.target.result;
evt=undefined; //Uses less memory
reader=undefined; //Uses less memory
PDFJS.getDocument(result).then(
function (pdf) {
var d2 = Date.now();
console.log("Load PDF Delay:" + (d2 - d1));
setTimeout(callback.bind(this,pdf),10);//Timeout for memory
pdf=undefined;
} //SUCCESS
);
};
reader.readAsArrayBuffer(file);
}
function processPDF(pdf){
var pagecount=pdf.numPages;
var p=-1;
var processNext=function(pdf,p,pagecount,processNext) {
p++;
if (p >= pagecount) {
pdf.destroy();
pdf=undefined;
console.log("All Pages Processed");
return;
}
//Half Page & Cropping
var d0=Date.now();
renderPDFPage(pdf,p + 1,function(srcImage) {
console.log("DETECT HALF/CROP PAGE2:" + p)
var d1 = Date.now();
var render_delay = (d1 - d0);
console.log("detected render delay:" + render_delay);
...