Вот моя реализация для загрузки необходимых ресурсов в новое окно:
Код: Выделить всё
export const loadPdfResources = (newWindow: any) => {
const resources = [
{ type: 'stylesheet', href: 'https://unpkg.com/@react-pdf-viewer/core/lib/styles/index.css' },
{ type: 'stylesheet', href: 'https://unpkg.com/@react-pdf-viewer/default-layout/lib/styles/index.css' },
{ type: 'stylesheet', href: 'https://unpkg.com/@react-pdf-viewer/zoom/lib/styles/index.css' },
{ type: 'stylesheet', href: 'https://unpkg.com/@react-pdf-viewer/search/lib/styles/index.css' },
{ type: 'stylesheet', href: 'https://unpkg.com/pdfjs-dist/web/pdf_viewer.css' },
{ type: 'script', src: 'https://unpkg.com/[email protected]/build/pdf.js' },
{ type: 'script', src: 'https://unpkg.com/[email protected]/web/pdf_viewer.js' }
];
resources.forEach(resource => {
const element = newWindow.document.createElement(resource.type === 'stylesheet' ? 'link' : 'script');
if (resource.type === 'stylesheet') {
element.rel = 'stylesheet';
element.href = resource.href;
newWindow.document.head.appendChild(element);
} else if (resource.type === 'script' && resource.src) { // Check if src is defined
element.src = resource.src;
newWindow.document.head.appendChild(element);
}
});
};
Просмотр PDF-файлов корректно отображается в том же окне, но в новом окне отображаются только поля.
Текстовое содержимое виден при копировании в текстовый редактор, например «Блокнот», но не отображается в окне браузера.
Я подтвердил, что все необходимые ресурсы (файлы CSS и JavaScript) загружаются в новом окне.
Что я пробовал :
Я позаботился о том, чтобы все необходимые ресурсы загружаются правильно в новом окне.
Я пробовал использовать разные версии рабочего файла pdf.worker.min.js, но это не решило проблему.
Я проверил, возникает ли проблема во всех браузерах, но в разных браузерах одинаково.
Что может быть причиной этой проблемы?
Почему текст не отображается в новом окне, хотя та же программа просмотра работает в том же окне?
Есть какие-нибудь идеи или предложения о том, как решить эту проблему, будут очень признательны!
Подробнее здесь: https://stackoverflow.com/questions/793 ... ks-fine-in