Я использую библиотеку @react-pdf-viewer для рендеринга PDF-файлов в своем приложении React. Средство просмотра работает отлично, если оно открыто в том же окне, но когда я пытаюсь отобразить средство просмотра в новом окне браузера, отображаются только поля, а текст не отображается. Когда я копирую поля и вставляю их в текстовый редактор (например, Блокнот), содержимое отображается правильно.
Вот моя реализация для загрузки необходимых ресурсов в новое окно:
typescript
Копировать код
export const loadPdfResources = (newWindow: Any) => {
const resources = [
{ type: 'stylesheet', href: 'https://unpkg.com/@react-pdf-viewer/cor ... /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/zoo ... /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/pdfjs-dist@3.9.179 /build/pdf.js' },
{ type: 'script', src: 'https://unpkg.com/pdfjs-dist@3.9.179/web/pdf_viewer.js'
resources.forEach(resource => {const element = newWindow.document.createElement(resource.type === 'таблица стилей' ? 'link' : 'script');
if (resource.type === 'таблица стилей') {
element.rel = 'таблица стилей';
element.href = resources.href;
newWindow.document.head.appendChild(element);
} else if (resource.type === 'script' && resources.src) { // Проверяем, является ли src определено
element.src = resources.src;
newWindow.document.head.appendChild(element);
}
});
};
Проблема:
Программа просмотра PDF корректно отображается в том же окне, но показывает только поля в новом окне.
Текстовое содержимое видно при копировании в текстовый редактор, например Блокнот, но оно не отображается в окно браузера.
Я подтвердил, что все необходимые ресурсы (файлы CSS и JavaScript) загружаются в новом окне.
Что я пробовал:
Я убедился, что все необходимые ресурсы корректно загружаются в новом окне.
Я пробовал использовать разные версии рабочего файла pdf.worker.min.js, но это не решило проблему.
Я проверил, проблема возникает во всех браузерах, но она одинакова для разных
Что может быть причиной этой проблемы?
Почему текст не отображается в новом окне, хотя в том же окне работает та же программа просмотра?
Мы будем очень признательны за любые идеи или предложения по решению этой проблемы!
Подробнее здесь: https://stackoverflow.com/questions/793 ... ks-fine-in
Средство просмотра React PDF отображает поля вместо текста в новом окне, но отлично работает в том же окне. ⇐ Javascript
Форум по Javascript
1736755470
Anonymous
Я использую библиотеку @react-pdf-viewer для рендеринга PDF-файлов в своем приложении React. Средство просмотра работает отлично, если оно открыто в том же окне, но когда я пытаюсь отобразить средство просмотра в новом окне браузера, отображаются только поля, а текст не отображается. Когда я копирую поля и вставляю их в текстовый редактор (например, Блокнот), содержимое отображается правильно.
Вот моя реализация для загрузки необходимых ресурсов в новое окно:
typescript
Копировать код
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/pdfjs-dist@3.9.179 /build/pdf.js' },
{ type: 'script', src: 'https://unpkg.com/pdfjs-dist@3.9.179/web/pdf_viewer.js'
resources.forEach(resource => {const element = newWindow.document.createElement(resource.type === 'таблица стилей' ? 'link' : 'script');
if (resource.type === 'таблица стилей') {
element.rel = 'таблица стилей';
element.href = resources.href;
newWindow.document.head.appendChild(element);
} else if (resource.type === 'script' && resources.src) { // Проверяем, является ли src определено
element.src = resources.src;
newWindow.document.head.appendChild(element);
}
});
};
Проблема:
Программа просмотра PDF корректно отображается в том же окне, но показывает только поля в новом окне.
Текстовое содержимое видно при копировании в текстовый редактор, например Блокнот, но оно не отображается в окно браузера.
Я подтвердил, что все необходимые ресурсы (файлы CSS и JavaScript) загружаются в новом окне.
Что я пробовал:
Я убедился, что все необходимые ресурсы корректно загружаются в новом окне.
Я пробовал использовать разные версии рабочего файла pdf.worker.min.js, но это не решило проблему.
Я проверил, проблема возникает во всех браузерах, но она одинакова для разных
Что может быть причиной этой проблемы?
Почему текст не отображается в новом окне, хотя в том же окне работает та же программа просмотра?
Мы будем очень признательны за любые идеи или предложения по решению этой проблемы!
Подробнее здесь: [url]https://stackoverflow.com/questions/79351508/react-pdf-viewer-shows-boxes-instead-of-text-in-a-new-window-but-works-fine-in[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия