|
|
|
@ -100,13 +100,24 @@ function nextTask() {
@@ -100,13 +100,24 @@ function nextTask() {
|
|
|
|
|
|
|
|
|
|
getPdf(task.file, function nextTaskGetPdf(data) { |
|
|
|
|
var failure; |
|
|
|
|
function continuation() { |
|
|
|
|
task.pageNum = task.firstPage || 1; |
|
|
|
|
nextPage(task, failure); |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
task.pdfDoc = new PDFJS.PDFDoc(data); |
|
|
|
|
var promise = PDFJS.getDocument(data); |
|
|
|
|
promise.then(function(doc) { |
|
|
|
|
task.pdfDoc = doc; |
|
|
|
|
continuation(); |
|
|
|
|
}, function(e) { |
|
|
|
|
failure = 'load PDF doc : ' + e; |
|
|
|
|
continuation(); |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} catch (e) { |
|
|
|
|
failure = 'load PDF doc : ' + exceptionToString(e); |
|
|
|
|
} |
|
|
|
|
task.pageNum = task.firstPage || 1; |
|
|
|
|
nextPage(task, failure); |
|
|
|
|
continuation(); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -163,8 +174,7 @@ function nextPage(task, loadError) {
@@ -163,8 +174,7 @@ function nextPage(task, loadError) {
|
|
|
|
|
log(' loading page ' + task.pageNum + '/' + task.pdfDoc.numPages + |
|
|
|
|
'... '); |
|
|
|
|
var ctx = canvas.getContext('2d'); |
|
|
|
|
page = task.pdfDoc.getPage(task.pageNum); |
|
|
|
|
|
|
|
|
|
task.pdfDoc.getPage(task.pageNum).then(function(page) { |
|
|
|
|
var pdfToCssUnitsCoef = 96.0 / 72.0; |
|
|
|
|
// using mediaBox for the canvas size
|
|
|
|
|
var pageWidth = page.width; |
|
|
|
@ -181,27 +191,26 @@ function nextPage(task, loadError) {
@@ -181,27 +191,26 @@ function nextPage(task, loadError) {
|
|
|
|
|
appendText: function nullTextLayerBuilderAppendText(text, fontName, |
|
|
|
|
fontSize) {} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
page.startRendering( |
|
|
|
|
ctx, |
|
|
|
|
function nextPageStartRendering(error) { |
|
|
|
|
var failureMessage = false; |
|
|
|
|
if (error) |
|
|
|
|
failureMessage = 'render : ' + error.message; |
|
|
|
|
snapshotCurrentPage(task, failureMessage); |
|
|
|
|
var renderContext = { |
|
|
|
|
canvasContext: ctx, |
|
|
|
|
textLayer: textLayerBuilder, |
|
|
|
|
viewport: page.getViewport(1) |
|
|
|
|
}; |
|
|
|
|
page.render(renderContext).then(function() { |
|
|
|
|
snapshotCurrentPage(task, false); |
|
|
|
|
}, |
|
|
|
|
textLayerBuilder |
|
|
|
|
); |
|
|
|
|
function(error) { |
|
|
|
|
snapshotCurrentPage(task, 'render : ' + error); |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
function(error) { |
|
|
|
|
snapshotCurrentPage(task, 'render : ' + error); |
|
|
|
|
}); |
|
|
|
|
} catch (e) { |
|
|
|
|
failure = 'page setup : ' + exceptionToString(e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (failure) { |
|
|
|
|
// Skip right to snapshotting if there was a failure, since the
|
|
|
|
|
// fonts might be in an inconsistent state.
|
|
|
|
|
snapshotCurrentPage(task, failure); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function snapshotCurrentPage(task, failure) { |
|
|
|
|