Я рендеринг изображения в SVG с использованием библиотеки pdfjs, и это работает, тогда я бы хотел использовать svg-pan-zoom lib для включения масштабирования.
import * as panZoom from "svg-pan-zoom";
private renderPage(page, scale) {
const viewport = page.getViewport(scale);
this.container.removeChild(document.getElementById('the-svg'));
this.container.appendChild(this.createSvgDiv());
const svgDiv = document.getElementById('the-svg');
svgDiv.style.width = viewport.width + 'px';
svgDiv.style.height = viewport.height + 'px';
page.getOperatorList()
.then(function (opList) {
var svgGfx = new PDFJS.SVGGraphics(page.commonObjs, page.objs);
return svgGfx.getSVG(opList, viewport);
})
.then(function (svg) {
svgDiv.appendChild(svg);
//after this uccurs error
setTimeout(() => { panZoom(svg)
}, 6000)
});
}
тайм-аут, чтобы убедиться, что рендеринг завершен, для рендеринга изображения PDF требуется около 1 с, затем по истечении тайм-аута я получаю эту ошибку
core.js:1449 ERROR Error: Cannot get SVG.
at Object.getSvg (utilities.js:95)
at svgPanZoom (svg-pan-zoom.js:747)
at Painter.ts:59
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.js:4751)
at t.invokeTask (polyfills.js:3)
at r.runTask (polyfills.js:3)
at e.invokeTask (polyfills.js:3)
at i.isUsingGlobalCallback.invoke (polyfills.js:3)
at n (polyfills.js:3)
библиотекасайт: https://www.npmjs.com/package/svg-pan-zoom