Commit d9d2233a authored by zhangderong's avatar zhangderong

PDF原件展示测试

parent 38b36d5f
......@@ -131,18 +131,18 @@ export function forwardResume(params) {
'Content-Type':'application/json'
}})
}
// export function getPdf(parmars) {
// return axios.get(`${sapi}/api/resume/getResumePdfByResumeId/${parmars.uid}`,{
// responseType: 'arraybuffer',
// headers: {
// 'Content-Type':'application/json'
// }
// })
// }
// // 是否展示原件的PDF
// export function isShowPDF(parmars) {
// return axios.get(`${sapi}/api/resume//isShowOriPdf/${parmars.uid}`, {headers: {
// 'Content-Type':'application/json'
// }})
// }
export function getPdf(parmars) {
return axios.get(`${sapi}/api/resume/getResumePdfByResumeId/${parmars.uid}`,{
responseType: 'arraybuffer',
headers: {
'Content-Type':'application/json'
}
})
}
// 是否展示原件的PDF
export function isShowPDF(parmars) {
return axios.get(`${sapi}/api/resume//isShowOriPdf/${parmars.uid}`, {headers: {
'Content-Type':'application/json'
}})
}
<template>
<div class="resumeDetail">
<!-- <a href="http://172.21.10.43/group1/M00/00/08/oYYBAF1M9B6ACO58AADoAJ5PfGw173.doc">dsds</a> -->
<!-- <div class="pdfShow" v-show="isShowPdf==true">
<div class="pdfShow" v-show="isShowPdf==true">
<div id="container" style="width:100%;height:100%;" v-if="isShowPdf==true"></div>
</div> -->
</div>
<div class="resumeDetail-left" v-if="isShowPdf==false">
<div class="personalInformation" v-show="JSON.stringify(resume)!=='{}'">
<p class="detailTitel">
......@@ -324,7 +324,7 @@ import moment from 'moment'
// import moment from '../../../static/1.pdf'
require('../../../static/pdf/pdf.js')
let mammoth = require("mammoth");
import {seedetail,updatastatus,TODORes,sendEmail,getEmailMoo,getEmailContent,uploadimage, findCompanyEmailByKey,forwardResume} from '../../api/resume.server'
import {seedetail,updatastatus,TODORes,sendEmail,getEmailMoo,getEmailContent,uploadimage, findCompanyEmailByKey,forwardResume,getPdf,isShowPDF} from '../../api/resume.server'
import localStorage from '../../service/localstorage.service.js'
import {
sapi
......@@ -351,7 +351,7 @@ export default {
modal13:false,
boxIsShow:false,
resumeBTn:false,
isShowPdf:false,
isShowPdf:true,
showOriginalDisabled:true,
OriginalContent:'',
StandardContent:'',
......@@ -455,73 +455,73 @@ export default {
this.name=res.data.body.resume.ownerName
})
},
// clearPDF: function (OriginalContent) {
// if(this.OriginalContent!==''){
// document.getElementById("container").innerHTML = "";
// }
// },
// // 渲染合同
// renderPDF: function (pdf, pageNumber,OriginalContent) {
// if(this.OriginalContent!==''){}
// pdf.getPage(pageNumber).then(function (page) {
// var scale = 1.5; //随意设置的
// var viewport = page.getViewport(scale);
// // Prepare canvas using PDF page dimensions
// // var canvas = document.getElementById('the-canvas');
// var canvas = document.createElement('canvas');
// canvas.setAttribute("id", "the-canvas-" + pageNumber);
// var element = document.getElementById("container");
// element.appendChild(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.then(function () {
// });
// });
// },
// // 展示合同
// showPDF : function ( OriginalContent) {
// let vm = this
// if ( this.OriginalContent) {
// var obj = {
// // url: '../../static/test.pdf', // 得到的是数据时使用data属性
// data: this.OriginalContent,
// cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/cmaps/',
// cMapPacked: true
// };
// PDFJS.workerSrc = '../../static/pdf/pdf.worker.js'
// var loadingTask = PDFJS.getDocument(obj);
// loadingTask.promise.then(function(pdf) {
// var total = pdf.numPages;
// for (var i = 0; i < total; i++) {
// var pageNumber = i + 1;
// // 如果你有node(vue ag...)环境,那么请用async/await替换掉
// setTimeout(vm.renderPDF(pdf, pageNumber), 10);
// }
// }, function (reason) {
// // PDF loading error
// console.error(reason);
// });
// }
// },
// getData(){
// let params = {
// uid:this.$route.query.id
// }
// getPdf(params).then(data => { // 调接口获取数据(二进制流数据)
// this.clearPDF();
// let vm =this
// var array = new Uint8Array(data.data);// 将二进制流数据转换成 Uint8Array (pdf支持的数据格式)
// this.OriginalContent=new Uint8Array(data.data);
// vm.showPDF(this.OriginalContent)
// })
// },
clearPDF: function (OriginalContent) {
if(this.OriginalContent!==''){
document.getElementById("container").innerHTML = "";
}
},
// 渲染合同
renderPDF: function (pdf, pageNumber,OriginalContent) {
if(this.OriginalContent!==''){}
pdf.getPage(pageNumber).then(function (page) {
var scale = 1.5; //随意设置的
var viewport = page.getViewport(scale);
// Prepare canvas using PDF page dimensions
// var canvas = document.getElementById('the-canvas');
var canvas = document.createElement('canvas');
canvas.setAttribute("id", "the-canvas-" + pageNumber);
var element = document.getElementById("container");
element.appendChild(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.then(function () {
});
});
},
// 展示合同
showPDF : function ( OriginalContent) {
let vm = this
if ( this.OriginalContent) {
var obj = {
// url: '../../static/test.pdf', // 得到的是数据时使用data属性
data: this.OriginalContent,
cMapUrl: 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/cmaps/',
cMapPacked: true
};
PDFJS.workerSrc = '../../static/pdf/pdf.worker.js'
var loadingTask = PDFJS.getDocument(obj);
loadingTask.promise.then(function(pdf) {
var total = pdf.numPages;
for (var i = 0; i < total; i++) {
var pageNumber = i + 1;
// 如果你有node(vue ag...)环境,那么请用async/await替换掉
setTimeout(vm.renderPDF(pdf, pageNumber), 10);
}
}, function (reason) {
// PDF loading error
console.error(reason);
});
}
},
getData(){
let params = {
uid:this.$route.query.id
}
getPdf(params).then(data => { // 调接口获取数据(二进制流数据)
this.clearPDF();
let vm =this
var array = new Uint8Array(data.data);// 将二进制流数据转换成 Uint8Array (pdf支持的数据格式)
this.OriginalContent=new Uint8Array(data.data);
vm.showPDF(this.OriginalContent)
})
},
// 下载简历
downloadONE(doid){
window.location.href=`${sapi}/api/resume/download/formatted/one?resumeId=${doid}`
......@@ -754,37 +754,37 @@ export default {
delInterviewee(name){
this.contentName=''
},
// showOriginal(){
// // this.addCss()
// // this.remove()
// // document.querySelector('#app').style['overflow-x']='hidden'
// this.showPDF()
// this.isShowPdf=true
// this.showOriginalDisabled=true
// this.showStandardDisabled=false
// },
// showStandard(){
// this.isShowPdf=false
// // this.addCss()
// // document.querySelector('#app').style['overflow-x']='hidden'
// this.clearPDF()
// this.showStandardDisabled=true
// this.showOriginalDisabled=false
// },
// judeShowPdf(){
// let parmars={
// uid:this.$route.query.id
// }
// isShowPDF(parmars).then(res=>{
// if(res.data.body==true){
// this.isShowPdf=true
// this.resumeBTn=true
// }else{
// this.isShowPdf=false
// this.resumeBTn=false
// }
// })
// },
showOriginal(){
// this.addCss()
// this.remove()
// document.querySelector('#app').style['overflow-x']='hidden'
this.showPDF()
this.isShowPdf=true
this.showOriginalDisabled=true
this.showStandardDisabled=false
},
showStandard(){
this.isShowPdf=false
// this.addCss()
// document.querySelector('#app').style['overflow-x']='hidden'
this.clearPDF()
this.showStandardDisabled=true
this.showOriginalDisabled=false
},
judeShowPdf(){
let parmars={
uid:this.$route.query.id
}
isShowPDF(parmars).then(res=>{
if(res.data.body==true){
this.isShowPdf=true
this.resumeBTn=true
}else{
this.isShowPdf=false
this.resumeBTn=false
}
})
},
// 确认发送邮件
confireSendEmail: _debounce(function(){
this.sad = this.getEditorValue()
......@@ -983,14 +983,14 @@ export default {
document.querySelector('#app').style.removeProperty('overflow-x')
},
},
mounted(){
async mounted(){
this.getDETAIL()
this.boxIsShow=true
this.judeBtn()
this.addCss()
// await this.getData()
// this.clearPDF()
// await this.judeShowPdf()
await this.getData()
this.clearPDF()
await this.judeShowPdf()
},
beforeDestroy(){
this.remove()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment