From 066aad003d11e5695fb06eae920d1f5b62290da3 Mon Sep 17 00:00:00 2001 From: Andrey Kuvshinov Date: Thu, 21 May 2020 22:09:07 +0300 Subject: [PATCH] iPhone in libs pdf --- app/pub/scripts/klanviewer.js | 74 +++++++++++++++++++++++++++++++++++ app/routes/anpdf.php | 3 +- app/routes/pdfserver.php | 4 +- app/views/anpdf3.phtml | 6 ++- app/views/layout.phtml | 3 +- 5 files changed, 83 insertions(+), 7 deletions(-) diff --git a/app/pub/scripts/klanviewer.js b/app/pub/scripts/klanviewer.js index f6d3400..4052ad5 100644 --- a/app/pub/scripts/klanviewer.js +++ b/app/pub/scripts/klanviewer.js @@ -3,6 +3,57 @@ var pdfcanvas = "the-canvas"; var cnt = 100; + +function renderPage() { + + var el_title = document.getElementById('pdfprogress'); + + + //el_title.innerHTML = 'Идет подготовка страницы ...'; + + pageRendering = true; + // Using promise to fetch the page + pdfDoc.getPage(pageNum).then(function(page) { + + var canvas = document.getElementById('the-pdf'); + var context = canvas.getContext('2d'); + //var viewport = page.getViewport({scale: scale}); + + currscale = 1; + + var viewport = page.getViewport({scale: currscale}); + // var viewport = page.getViewport(canvas.width / page.getViewport(0.5).width) + + + canvas.height = viewport.height; + canvas.width = viewport.width; + + // Render PDF page into canvas context + var renderContext = { + canvasContext: context, + viewport: viewport + }; + var renderTask = page.render(renderContext); + + // Wait for rendering to finish + renderTask.promise.then(function() { + pageRendering = false; + if (pageNumPending !== null) { + // New page rendering is pending + renderPage(pageNumPending); + pageNumPending = null; + + } + el_title.innerHTML = ''; + }); + }); + + + +} + + + function prevclick(){ prevurl = prevlink + '/'+ scale; location.href = prevurl; @@ -111,6 +162,29 @@ function startpdfviewer(newcurr){ setzoom('pdcurr', newcurr); setzoom('pdfscale', 100); } + + var detect = new MobileDetect(window.navigator.userAgent); + + if (detect.phone()){ + + var canv = document.createElement('canvas'); + canv.id = 'the-pdf'; + document.getElementById(pdfcanvas).appendChild(canv); + + pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) { + pdfDoc = pdfDoc_; + renderPage(); + }); + + } + else { + + document.getElementById(pdfcanvas).innerHTML = ''; + + } + + + } diff --git a/app/routes/anpdf.php b/app/routes/anpdf.php index 4b67adf..9411743 100644 --- a/app/routes/anpdf.php +++ b/app/routes/anpdf.php @@ -11,8 +11,9 @@ function anpromo_kuri($page = 1, $scale = 1){ $file = SITEPATH.'pub/files/pdf/promo.pdf'; $data = pdfs_init($file, $page); + $data['pages'] = pdfs_count($file); - $count = $data['count']; + $count = $data['pages']; $pdfile = SITE.$data['pdfpgurl']; $category = 1; diff --git a/app/routes/pdfserver.php b/app/routes/pdfserver.php index ab961c8..4473392 100644 --- a/app/routes/pdfserver.php +++ b/app/routes/pdfserver.php @@ -46,7 +46,7 @@ function pdfs_init($source, $page = 1){ if (!file_exists($source)) return false; - $result['pdfurl'] = SITE.trim(pdfs_cachefile($source), '/'); //полный файл на скачку + $result['pdfurl'] = trim(SITE, '/').pdfs_cachefile($source); //полный файл на скачку $name = pdfs_hash($source); $cachedir = PGDIR.$name.'/'; @@ -55,8 +55,6 @@ function pdfs_init($source, $page = 1){ if (!file_exists($fullcachefile)){ - echo 'загрузка ...'; - if (!file_exists($source)) return false; diff --git a/app/views/anpdf3.phtml b/app/views/anpdf3.phtml index 165c367..0688775 100644 --- a/app/views/anpdf3.phtml +++ b/app/views/anpdf3.phtml @@ -67,8 +67,10 @@ -
- +
+
diff --git a/app/views/layout.phtml b/app/views/layout.phtml index 31b0aaf..86ab80b 100644 --- a/app/views/layout.phtml +++ b/app/views/layout.phtml @@ -3,7 +3,8 @@ Еженедельник Аргументы Недели - <?=$title?> "> - + +