Код: Выделить всё
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