|
|
@@ -117,8 +117,8 @@ $("#downloadPdf").click(
|
|
|
if (!valid && !hiddenFrameLoaded) {
|
|
|
console.log(new Date().format() + " ---- 文件正在生成,请等待");
|
|
|
console.log(new Date().format()
|
|
|
- + " ---- subscribed wholePdfGenerated");
|
|
|
- $.subscribe("wholePdfGenerated", downloadPdf);
|
|
|
+ + " ---- subscribed wholePdfGeneratedSignal");
|
|
|
+ $.subscribe("wholePdfGeneratedSignal", downloadPdf);
|
|
|
waitWholePdfGenerated();
|
|
|
// setTimeout(
|
|
|
// "valid =
|
|
|
@@ -138,8 +138,8 @@ $("#downloadPdf").click(
|
|
|
function downloadPdf() {
|
|
|
hideLoading();
|
|
|
console.log(new Date().format()
|
|
|
- + " ---- received and unsubscribe wholePdfGenerated");
|
|
|
- $.unsubscribe("wholePdfGenerated", downloadPdf);
|
|
|
+ + " ---- received and unsubscribe wholePdfGeneratedSignal");
|
|
|
+ $.unsubscribe("wholePdfGeneratedSignal", downloadPdf);
|
|
|
console.log(new Date().format() + " ---- start print");
|
|
|
window.location = downloadUrl("pdf");
|
|
|
}
|
|
|
@@ -155,8 +155,9 @@ function waitWholePdfGenerated() {
|
|
|
setTimeout("waitWholePdfGenerated()", 3000);
|
|
|
} else {
|
|
|
console.log(new Date().format() + " ---- 文件已生成");
|
|
|
- console.log(new Date().format() + " ---- published wholePdfGenerated");
|
|
|
- $.publish("wholePdfGenerated", waitWholePdfGenerated);
|
|
|
+ console.log(new Date().format()
|
|
|
+ + " ---- published wholePdfGeneratedSignal");
|
|
|
+ $.publish("wholePdfGeneratedSignal", waitWholePdfGenerated);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -227,9 +228,10 @@ function printPdf() {
|
|
|
if (!hiddenFrameLoaded) {
|
|
|
showLoading();
|
|
|
console.log(new Date().format() + " ---- 需打印的文档未生成,正在生成文档");
|
|
|
- // 订阅信号 "hiddenFrameLoaded",等待整个pdf加载完成
|
|
|
- console.log(new Date().format() + " ---- subscribed hiddenFrameLoaded");
|
|
|
- $.subscribe("hiddenFrameLoaded", print);
|
|
|
+ // 订阅信号 "hiddenFrameLoadedSignal",等待整个pdf加载完成
|
|
|
+ console.log(new Date().format()
|
|
|
+ + " ---- subscribed hiddenFrameLoadedSignal");
|
|
|
+ $.subscribe("hiddenFrameLoadedSignal", print);
|
|
|
} else {
|
|
|
hideLoading();
|
|
|
alert("正在加载文档");
|
|
|
@@ -239,12 +241,12 @@ function printPdf() {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 调用浏览器的打印方法并取消订阅信号 "hiddenFrameLoaded"
|
|
|
+ * 调用浏览器的打印方法并取消订阅信号 "hiddenFrameLoadedSignal"
|
|
|
*/
|
|
|
function print() {
|
|
|
console.log(new Date().format()
|
|
|
- + " ---- received and unsubscribe hiddenFrameLoaded");
|
|
|
- $.unsubscribe("hiddenFrameLoaded", print);
|
|
|
+ + " ---- received and unsubscribe hiddenFrameLoadedSignal");
|
|
|
+ $.unsubscribe("hiddenFrameLoadedSignal", print);
|
|
|
hiddenFrame.contentWindow.print();
|
|
|
alert("文档加载完成");
|
|
|
}
|
|
|
@@ -267,8 +269,8 @@ function loadPagedPdf(pagedPdfPath, ifPreloadWholePdf) {
|
|
|
// 第一页文档渲染完成后,再加载整个文档
|
|
|
if (ifPreloadWholePdf) {
|
|
|
console.log(new Date().format()
|
|
|
- + " ---- subscribed renderTaskFinished");
|
|
|
- $.subscribe("renderTaskFinished", loadWholePdf);
|
|
|
+ + " ---- subscribed renderTaskFinishedSignal");
|
|
|
+ $.subscribe("renderTaskFinishedSignal", loadWholePdf);
|
|
|
}
|
|
|
// Initial/first page rendering
|
|
|
renderPage();
|
|
|
@@ -335,8 +337,8 @@ function loadData() {
|
|
|
*/
|
|
|
function loadWholePdf() {
|
|
|
console.log(new Date().format()
|
|
|
- + " ---- received and unsubscribe renderTaskFinished");
|
|
|
- $.unsubscribe("renderTaskFinished", loadWholePdf);
|
|
|
+ + " ---- received and unsubscribe renderTaskFinishedSignal");
|
|
|
+ $.unsubscribe("renderTaskFinishedSignal", loadWholePdf);
|
|
|
// 渲染完成后延迟一小段时间预加载整个文档
|
|
|
sleep(500);
|
|
|
if (pageSize > PRINT_MAX_PAGE_SIZE) {
|
|
|
@@ -363,11 +365,10 @@ function loadWholePdf() {
|
|
|
console.log(new Date().format()
|
|
|
+ " ---- hiddenFrame load successed");
|
|
|
hiddenFrameLoaded = true;
|
|
|
- console
|
|
|
- .log(new Date().format()
|
|
|
- + " ---- publish hiddenFrameLoaded");
|
|
|
- // 发布信号 "hiddenFrameLoaded"
|
|
|
- $.publish("hiddenFrameLoaded");
|
|
|
+ console.log(new Date().format()
|
|
|
+ + " ---- publish hiddenFrameLoadedSignal");
|
|
|
+ // 发布信号 "hiddenFrameLoadedSignal"
|
|
|
+ $.publish("hiddenFrameLoadedSignal");
|
|
|
}
|
|
|
};
|
|
|
|
|
|
@@ -392,38 +393,46 @@ function renderPage() {
|
|
|
return;
|
|
|
}
|
|
|
// 每个pdf只有一页
|
|
|
- pdfDoc.getPage(1).then(
|
|
|
- function(page) {
|
|
|
- if (!scale || scale == "auto") {
|
|
|
- // 调整为适合的宽度
|
|
|
- scale = getScale(page, 0.75);
|
|
|
- } else if (scale == "page_width") {
|
|
|
- // 调整pdf显示的宽度接近窗口宽度
|
|
|
- scale = getScale(page, 0.95);
|
|
|
- }
|
|
|
- var viewport = page.getViewport(scale);
|
|
|
- canvas.height = viewport.height;
|
|
|
- canvas.width = viewport.width;
|
|
|
- // Render PDF page into canvas context
|
|
|
- var renderContext = {
|
|
|
- canvasContext : ctx,
|
|
|
- viewport : viewport
|
|
|
- };
|
|
|
- // 开始渲染
|
|
|
- var renderTask = page.render(renderContext);
|
|
|
- $.when(renderTask).done(
|
|
|
- function() {
|
|
|
- // 渲染完成后,发布信号 "renderTaskFinished"
|
|
|
- console.log(new Date().format()
|
|
|
- + " ---- renderTask finished");
|
|
|
- console.log(new Date().format()
|
|
|
- + " ---- publish renderTaskFinished");
|
|
|
- $.publish("renderTaskFinished");
|
|
|
- // var renderTaskRunning =
|
|
|
- // renderTask._internalRenderTask.running;
|
|
|
- // return !renderTaskRunning;
|
|
|
- });
|
|
|
- });
|
|
|
+ pdfDoc
|
|
|
+ .getPage(1)
|
|
|
+ .then(
|
|
|
+ function(page) {
|
|
|
+ if (!scale || scale == "auto") {
|
|
|
+ // 调整为适合的宽度
|
|
|
+ scale = getScale(page, 0.75);
|
|
|
+ } else if (scale == "page_width") {
|
|
|
+ // 调整pdf显示的宽度接近窗口宽度
|
|
|
+ scale = getScale(page, 0.95);
|
|
|
+ }
|
|
|
+ var viewport = page.getViewport(scale);
|
|
|
+ canvas.height = viewport.height;
|
|
|
+ canvas.width = viewport.width;
|
|
|
+ // Render PDF page into canvas context
|
|
|
+ var renderContext = {
|
|
|
+ canvasContext : ctx,
|
|
|
+ viewport : viewport
|
|
|
+ };
|
|
|
+ // 开始渲染
|
|
|
+ var renderTask = page.render(renderContext);
|
|
|
+ $
|
|
|
+ .when(renderTask)
|
|
|
+ .done(
|
|
|
+ function() {
|
|
|
+ // 渲染完成后,发布信号
|
|
|
+ // "renderTaskFinishedSignal"
|
|
|
+ console
|
|
|
+ .log(new Date().format()
|
|
|
+ + " ---- renderTask finished");
|
|
|
+ console
|
|
|
+ .log(new Date().format()
|
|
|
+ + " ---- publish renderTaskFinishedSignal");
|
|
|
+ $
|
|
|
+ .publish("renderTaskFinishedSignal");
|
|
|
+ // var renderTaskRunning =
|
|
|
+ // renderTask._internalRenderTask.running;
|
|
|
+ // return !renderTaskRunning;
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|