Adobe PDF Embed apis.gotoLocation() заставляет PDF обновляться
Adobe PDF Embed всегда перезагружает PDF-файл, а не просто переходит на нужную страницу (как это происходит при изменении номера страницы в iframe). Это можно обойти?
Используемый код:previewFilePromise.then(adobeViewer => {
adobeViewer.getAPIs().then(apis => {
apis.gotoLocation(n)
.then(() => console.log("Success"))
.catch(error => console.log(error));
});
});
1 ответ
Я не видел такого поведения, но я подхожу к проблеме немного по-другому. Я получаю API только один раз, а затем повторно использую объект, как показано ниже. Ссылка на работающий пример находится после фрагмента кода.
var viewerAPI = null;
function showPDF(urlToPDF) {
var adobeDCView = new AdobeDC.View({
clientId: clientId,
divId: "embeddedView"
});
previewFilePromise = adobeDCView.previewFile(
{
content: { promise: fetchPDF(urlToPDF) },
metaData: { fileName: urlToPDF.split("/").slice(-1)[0] }
},
viewerOptions
);
previewFilePromise.then((adobeViewer) => {
adobeViewer.getAPIs().then((apis) => {
viewerAPI = apis;
});
});
}
function goToPage(pageNum) {
viewerAPI.gotoLocation(parseInt(pageNum));
}