Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 25

Отобразить pdf на странице

13.05.2019, 16:37. Показов 2025. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В контроллере сделал метод:
PHP Скопировано
1
2
3
4
5
6
public function getPdf(Request $request)
{
  $file = public_path() . "/e.pdf";
  $headers = ['Content-Type' => 'application/pdf'];
  return response()->download($file, 'test.pdf', $headers);
}
Во вьюхе разместил код:
JavaScript Скопировано
1
2
3
4
5
window.axios.get('api/get_pdf').then((resp) => {
  let file = new Blob([resp.data], {type: 'application/pdf'});
  let fileURL = URL.createObjectURL(file);
  window.open(fileURL);
}
Страница отображается, с нужным количеством листов, но совершенно пустых. При сохранении в файл, кодировка - utf-8, (изначальный файл ANSI, и в браузере отображается нормально) но символы перекодированы некорректно, отображаются в виде квадратиков. Пробовал, добавлял ;charset=windows-1252 и ;charset=utf-8 и на сервер и в браузер, в разных комбинациях, но ничего не изменилось. Что я делаю не так?

Добавлено через 3 часа 9 минут
Нашел на просторах интернета рекомендацию, как поступать в данном случае:
JavaScript Скопировано
1
2
3
4
5
                    let uint8 = new Uint8Array(resp.data.length);
                    for (let i = 0; i < uint8.length; i++) {
                        uint8[i] = resp.data.charCodeAt(i);
                    }
                    let file = new Blob([uint8], {type: 'application/pdf'});
Стало немного лучше, корректно отображается заголовок, большая часть квадратиков заменилась на требуемые символы, скачанный файл отображается в ANSI кодировке, но часть символов все равно некорректна, и странички по прежнему пустые.

Добавлено через 2 часа 7 минут
Ещё делают таким образом:
JavaScript Скопировано
1
2
3
                    let uint8array = new TextEncoder().encode(resp.data);
                    let string = new TextDecoder('ascii').decode(uint8array);
                    let file = new Blob([string], {type: 'application/pdf'});
Но тоже без требуемого результата.

Добавлено через 1 час 40 минут
Ура!!! Нашел!!!! целый день рыскал по интернетам.... Вот так РАБОТАЕТ:
JavaScript Скопировано
1
window.axios.get('api/get_pdf', {responseType: 'arraybuffer'})
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2019, 16:37
Ответы с готовыми решениями:

С помощью таймера отобразить на странице текущее время, день недели и дату на странице
Здравствуйте. Я начинающий помогите пожалуйста с заданием. Буду признателен. С помощью таймера отобразить на странице текущее время,...

Отобразить картинку из pdf
День добрый. Есть картинка, сохраненная в виде пдф файла (на мой взгляд, дикое извращение, но заказчик типа всегда прав). Нужно эту...

В каком компоненте отобразить PDF
Вопрос: возможно ли в какой-то компонент Delphi считать *.pdf файл???

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2019, 16:37
Помогаю со студенческими работами здесь

Отобразить PDF документ внутри приложения на fragment
Доброго дня :senor: Я знаю абсолютный путь до документа pdf (локальное хранилище), его нужно по клику отобразить на фрагменте, тоесть...

Как в диалоге отобразить только .pdf файлы?
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog; openFileDialog1-&gt;ShowDialog(); textBox2-&gt;Text = openFileDialog1-&gt;FileName; ...

Открыть pdf на нужной странице
Ребята, есть вопрос. У меня открываются несколько pdf(журналы) в программе. Есть форма, где в текстовом поле вводится нужная страница и...

Открыть pdf на заданной странице
Здравствуйте. Как открыть pdf на определенной странице? Вот допустим я открываю так: AxAcroPDF1.src = (Application.StartupPath +...

Отобразить url на странице
Здравствуйте многоуважаемые формумчане! У меня есть ссылка на сайт, выглядит она примерно так: www.site.ru При переходе по этому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Линейное решение нелинейной задачи. Формулы от LM по моему решению пока не проверял. В итоговой её формуле видно её заблуждение.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю. Assistant qwen2. 5-14b-instruct . . . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
Реализации таймеров в Unity
GameUnited 09.04.2025
Время — важный ресурс любой игры. Разработка качественных игровых механик невозможна без грамотного управления временем, а таймеры выступают ключевым инструментом этого управления. Представьте себе. . .
Функции высшего порядка в JavaScript
run.dev 09.04.2025
Функции высшего порядка представляют собой один из фундаментальных камней функционального программирования в JavaScript. По сути, это функции, которые либо принимают другие функции в качестве. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер