iframe pdf

This commit is contained in:
glovetleong
2021-03-16 22:07:34 +08:00
parent 4adc4a2b36
commit 975f4fd1d1
5 changed files with 11 additions and 48 deletions
@@ -58,8 +58,13 @@ class RenderDocumentLogic extends AbstractControllerLogic
{
throw new ResourceNotFoundException();
}
$extention = explode('.', $file);
if ($extention[1] == 'pdf') {
return $this->response(['src' => chunk_split(base64_encode(Storage::disk('documents')->get($file)))]);
}
else {
return $this->response(['src' => Storage::disk('documents')->get($file)]);
}
}
}
-5
View File
@@ -9708,11 +9708,6 @@
"sha.js": "^2.4.8"
}
},
"pdfjs-dist": {
"version": "2.6.347",
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.6.347.tgz",
"integrity": "sha512-QC+h7hG2su9v/nU1wEI3SnpPIrqJODL7GTDFvR74ANKGq1AFJW16PH8VWnhpiTi9YcLSFV9xLeWSgq+ckHLdVQ=="
},
"perfect-scrollbar": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.0.tgz",
-1
View File
@@ -22,7 +22,6 @@
"jquery.scrollbar": "^0.2.11",
"jwt-decode": "^3.1.2",
"noty": "^3.2.0-beta",
"pdfjs-dist": "^2.6.347",
"perfect-scrollbar": "^1.5.0",
"popper.js": "^1.12",
"sass-loader": "10.1.0",
@@ -9,7 +9,7 @@
<div class="row">
<div class="col text-center">
<img :src="src" class="w-100" v-if="type !== 'pdf'">
<canvas ref="canvas" v-if="type === 'pdf'" />
<iframe v-if="type === 'pdf'" class="pdf-display" :src="'data:application/pdf;base64,'+src"></iframe>
</div>
</div>
</modal-component>
@@ -24,7 +24,6 @@
type: Object,
required: true
},
},
data(){
return {
@@ -47,41 +46,7 @@
}
},
renderPdf() {
this.isLoading = true;
var pdfjsLib = window['pdfjs-dist/build/pdf'];
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
var loadingTask = pdfjsLib.getDocument({data: this.src});
loadingTask.promise.then(function(pdf) {
// Fetch the first page
var pageNumber = 1;
pdf.getPage(pageNumber).then(function(page) {
var scale = 1.5;
var viewport = page.getViewport({scale: scale});
// Prepare canvas using PDF page dimensions
var canvas = $(this.$refs.canvas);
var context = canvas.getContext('2d');
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);
renderTask.promise.then(function () {
console.log('Page rendered');
});
});
}, function (reason) {
// PDF loading error
console.error(reason);
});
this.isLoading = false;
},
successHandler(response){
this.loaded = true;
@@ -91,7 +56,6 @@
if(this.type === 'pdf'){
this.renderPdf()
}
},
errorHandler(error, statusCode){
this.src = statusCode === 404 ? 'images/3231370.jpg' : 'images/2942005.jpg'
@@ -1,4 +1,4 @@
<template>
<!-- <template>
<div>
<div class="row">
<div class="col-sm-4">
@@ -53,4 +53,4 @@
},
},
}
</script>
</script> -->