Событие изменения порядка страниц в PDFTron

#javascript #pdf #pdftron

#javascript #PDF #pdftron

Вопрос:

Я работаю над изменением порядка страниц в панели> Просмотр эскизов. PDFTron предоставляет функциональность, чтобы я мог перетаскивать и переупорядочивать / переупорядочивать страницы. Затем, используя это событие, я загружу новый PDF-файл на сервер. Но я не могу найти правильное событие, которое будет срабатывать только тогда, когда пользователь выполнит изменение порядка в элементе управления эскизами.

На данный момент я использую событие pageNumberUpdated, но оно срабатывает, когда пользователь переходит к PDF в PDFVeiwer.

 WebViewer({
    licenseKey: 'KEY',
    path: './public/webviewer',
    css: './css/pdftron-custom.css'
}, document.getElementById('pdfEditor') as HTMLElement).then(async(instance: WebViewerInstance) => {
    webViewerInstance = instance;
    
    webViewerInstance.docViewer.on('pageNumberUpdated', async() => {
         // OTHER STUFF
    });
});
  

Ссылка на PDFTron: https://www.pdftron.com/documentation/web/guides/manipulation/thumbnails-controls/#reordering-pages

Итак, в основном, какое событие я должен использовать, которое будет срабатывать, когда пользователь перетаскивает миниатюру для перемещения страницы?

Ответ №1:

Вы можете использовать layoutChanged событие в DocumentViewer. Например:

 //instantiate the viewer as usual 
const { docViewer } = instance;
docViewer.on('layoutChanged', () => console.log('PAGES UPDATED'))
  

Это событие запускается при возникновении изменений на панели эскизов.
https://www.pdftron.com/api/web/CoreControls .DocumentViewer.html#событие:layoutChanged__anchor

Комментарии:

1. Это событие поможет мне, но при загрузке страницы я изменяю страницу (добавляю материал, перерисовываю и т. Д.). таким образом, это событие запускается при загрузке страницы. Есть ли способ использовать его с событием PageNumberUpdate? Означает комбинацию двух событий.

2. неважно, я добился этого, используя некоторую внутреннюю логику. Но все же хочу знать, можем ли мы использовать комбинацию двух событий, если это возможно.