Viewer._pages неожиданно становится пустым в экземпляре pdf.js pdfviewerJavascript

Форум по Javascript
Ответить
Anonymous
 Viewer._pages неожиданно становится пустым в экземпляре pdf.js pdfviewer

Сообщение Anonymous »

Я интегрирую PDFViewer PDFJS-DIST в проект React с использованием модуля PDFJS-DIST/Web/PDF_VIEWER. Первоначально все работает нормально - PDF загружается, страницы рендеринг, и я могу взаимодействовать с ними. Это вызывает проблемы с пользовательской функцией UpdateVisiblePages, которую я написал, чтобы скрыть/показать определенные страницы на основе взаимодействия с пользователем.

Код: Выделить всё

const updateVisiblePages = useCallback(
(viewer: any) => {
console.log(viewer, 'viewer updateVisiblePages before return')

if (!viewer || !viewer._pages.length) return
console.log(viewer, 'after return')
const allPages = viewer._pages
let updated = false
allPages.length !== 0 &&
allPages.forEach((page: any, index: number) => {
const pageNum = index + 1
if (!isSearchActive) {
if (
pageNum < (Number(selectedContent.startPage) ?? 1) ||
pageNum > (Number(selectedContent.endPage) ?? allPages.length)
) {
if (!page.div.classList.contains('hidden-page')) {
page.div.classList.add('hidden-page') // Add class to hide
updated = true
}
} else {
if (page.div.classList.contains('hidden-page')) {
page.div.classList.remove('hidden-page') // Remove class to show
updated = true
}
}
} else {
if (page.div.classList.contains('hidden-page')) {
console.log(
'[DEBUG] Pages updated, removing hidden-page class when searching',
)
page.div.classList.remove('hidden-page') // Remove class to show
updated = true
}
}
})

if (updated) {
viewer.update() // Ensure the viewer updates its rendering
setVisiblePagesUpdated((prev) => !prev) // Trigger re-render
updateHeight()
window.addEventListener('resize', updateHeight)
return () => window.removeEventListener('resize', updateHeight)
}
},
[selectedContent, isSearchActive],
)

< /code>
И я настраиваю зритель, как это внутри использования: < /p>
const viewer = new PDFViewer({
container: container,
eventBus: eventBusInstance,
enableWebGL: true,
renderInteractiveForms: true,
textLayerMode: 2,
enhanceTextSelection: true,
});

viewer.setDocument(pdfDoc);
Мои вопросы:
Что может привести к тому, что просмотрщик может стать пустым после загрузки PDF? _Pages (что я понимаю, является личным полем)?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... r-instance
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»