pdf 文档预览代码精简
This commit is contained in:
parent
5ac96e1f9f
commit
2f3f56fbc2
|
|
@ -106,8 +106,6 @@ export default {
|
||||||
cMapUrl: '',
|
cMapUrl: '',
|
||||||
standardFontDataUrl: '',
|
standardFontDataUrl: '',
|
||||||
pdfAssetsBase: '',
|
pdfAssetsBase: '',
|
||||||
fontsReady: new Set(),
|
|
||||||
renderingSet: new Set(),
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -247,12 +245,6 @@ export default {
|
||||||
if (this.$refs.pdfWrapper && !this.$refs.pdfWrapper.style.minWidth) {
|
if (this.$refs.pdfWrapper && !this.$refs.pdfWrapper.style.minWidth) {
|
||||||
this.$refs.pdfWrapper.style.minWidth = `${Math.ceil(viewport.width)}px`
|
this.$refs.pdfWrapper.style.minWidth = `${Math.ceil(viewport.width)}px`
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!container.querySelector('.page-loader')) {
|
|
||||||
const loader = document.createElement('div')
|
|
||||||
loader.className = 'page-loader'
|
|
||||||
container.appendChild(loader)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
async ensurePageCached(pageNumber) {
|
async ensurePageCached(pageNumber) {
|
||||||
|
|
@ -276,7 +268,6 @@ export default {
|
||||||
const viewport = page.getViewport({ scale: this.scale })
|
const viewport = page.getViewport({ scale: this.scale })
|
||||||
this.ensureContainerDimensions(pageNumber, viewport)
|
this.ensureContainerDimensions(pageNumber, viewport)
|
||||||
container.classList.add('is-loading')
|
container.classList.add('is-loading')
|
||||||
this.renderingSet.add(pageNumber)
|
|
||||||
|
|
||||||
const oldCanvas = container.querySelector('.pdf-canvas')
|
const oldCanvas = container.querySelector('.pdf-canvas')
|
||||||
if (oldCanvas) {
|
if (oldCanvas) {
|
||||||
|
|
@ -316,7 +307,6 @@ export default {
|
||||||
|
|
||||||
this.renderedPages.set(pageNumber, { container, viewport })
|
this.renderedPages.set(pageNumber, { container, viewport })
|
||||||
container.classList.remove('is-loading')
|
container.classList.remove('is-loading')
|
||||||
this.renderingSet.delete(pageNumber)
|
|
||||||
return { page, viewport, container }
|
return { page, viewport, container }
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -383,7 +373,6 @@ export default {
|
||||||
const container = this.pageContainers[pageNumber - 1]
|
const container = this.pageContainers[pageNumber - 1]
|
||||||
if (container) {
|
if (container) {
|
||||||
container.classList.add('is-loading', 'is-loading-text')
|
container.classList.add('is-loading', 'is-loading-text')
|
||||||
this.renderingSet.add(pageNumber)
|
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await this.renderTextLayer(pageNumber, { visible: true, force: true })
|
await this.renderTextLayer(pageNumber, { visible: true, force: true })
|
||||||
|
|
@ -392,7 +381,6 @@ export default {
|
||||||
if (container) {
|
if (container) {
|
||||||
container.classList.remove('is-loading', 'is-loading-text')
|
container.classList.remove('is-loading', 'is-loading-text')
|
||||||
}
|
}
|
||||||
this.renderingSet.delete(pageNumber)
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -517,10 +505,9 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
container.classList.remove('is-loading')
|
container.classList.remove('is-loading')
|
||||||
this.renderingSet.delete(pageNumber)
|
this.renderedPages.delete(pageNumber)
|
||||||
container.dataset.status = this.pageTextDivs[index]?.length ? 'text-ready' : 'prefetched'
|
container.dataset.status = this.pageTextDivs[index]?.length ? 'text-ready' : 'prefetched'
|
||||||
container.classList.add('prefetched')
|
container.classList.add('prefetched')
|
||||||
this.renderedPages.delete(pageNumber)
|
|
||||||
},
|
},
|
||||||
|
|
||||||
handleSearch: debounce(function () {
|
handleSearch: debounce(function () {
|
||||||
|
|
@ -884,29 +871,6 @@ export default {
|
||||||
opacity: 0.35;
|
opacity: 0.35;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pdf-page .page-loader {
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
width: 36px;
|
|
||||||
height: 36px;
|
|
||||||
margin: -18px 0 0 -18px;
|
|
||||||
border-radius: 50%;
|
|
||||||
display: none;
|
|
||||||
background:
|
|
||||||
radial-gradient(circle closest-side, rgba(140, 148, 160, 0.85) 92%, transparent 100%) top center/6px 6px no-repeat,
|
|
||||||
conic-gradient(from 0deg, rgba(140, 148, 160, 0.85) 0deg 30deg, rgba(140, 148, 160, 0.1) 30deg 360deg);
|
|
||||||
-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
|
|
||||||
mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
|
|
||||||
animation: pdf-page-spin 1s steps(12) infinite;
|
|
||||||
z-index: 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-page.is-loading .page-loader,
|
|
||||||
.pdf-page.is-loading-text .page-loader {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes pdf-page-spin {
|
@keyframes pdf-page-spin {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue