Средство просмотра React PDF отображает поля вместо текста в новом окне, но отлично работает в том же окне.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Средство просмотра React PDF отображает поля вместо текста в новом окне, но отлично работает в том же окне.

Сообщение Anonymous »

Я использую библиотеку @react-pdf-viewer для рендеринга PDF-файлов в своем приложении React. Средство просмотра работает отлично, если оно открыто в том же окне, но когда я пытаюсь отобразить средство просмотра в новом окне браузера, отображаются только поля, а текст не отображается. Когда я копирую поля и вставляю их в текстовый редактор (например, Блокнот), содержимое отображается правильно.
Вот моя реализация для загрузки необходимых ресурсов в новое окно:

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

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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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