#asp.net-core #pdf #blazor-server-side
#asp.net-ядро #PDF #blazor-на стороне сервера
Вопрос:
Я создал файл документа из Word и экспортировал его в формате pdf. я хочу показать содержимое pdf внутри элемента Div на странице razor. Как я могу показать содержимое pdf со страницы razor. Пожалуйста, не могли бы вы предоставить пример кода, как показать на стороне сервера blazor
Комментарии:
1. Blazor все еще работает в браузере на HTML-странице, которая может использовать JavaScript. Вы можете использовать
object
embed
тег or для отображения файла PDF с URL-адреса, который может быть конечной точкой веб-API. Если вы хотите что-то более интересное, вы можете использовать любую из библиотек JavaScript для просмотра PDF, напримерpdf.js
2. Для встраивания тега @PanagiotisKanavos требуется установить какую-либо сборку?
Ответ №1:
Если вы сохранили свой PDF-файл непосредственно в своих документах, например, в папке wwwroot / pdf.
wwwroot/pdf/test.pdf
Вы можете отобразить этот PDF-файл с помощью следующей строки html :
< embed src="pdf/test.pdf" style="width=100%; height=2100px;" />
Это предоставит вам средство отображения pdf с параметрами печати!
Если вы хотите пойти дальше, загрузите свой файл, а затем отобразите его, я рекомендую вам проверить это объяснение :
https://www.learmoreseekmore.com/2020/10/blazor-webassembly-fileupload.html
Загрузка файлов PDF работает так же, как и файл Img, вам нужно проверить документацию IBrowserFile.
Вы увидите, что он имеет размер obj и функцию OpenReadStream (), которая поможет вам получить отображаемый URL-адрес для вашего файла (изображения или pdf)
Если приведенный выше сайт закрывается, на нем отображается код загрузки :
@code{ List<string> imgUrls = new List<string>(); private async Task OnFileSelection(InputFileChangeEventArgs e) { foreach (IBrowserFile imgFile in e.GetMultipleFiles(5)) { var buffers = new byte[imgFile.Size]; await imgFile.OpenReadStream().ReadAsync(buffers); string imageType = imgFile.ContentType; string imgUrl = $"data:{imageType};base64,{Convert.ToBase64String(buffers)}"; imgUrls.Add(imgUrl); } } }
Этот код был написан Навином Боммиди, автором блога, в котором я нашел этот полезный код
Если вы хотите, как я уже сказал, загрузите PDF-файл, а затем отобразите его.
Вы можете использовать ту же строку html :
< embed src="@imgUrl" style="width=100%; height=2100px;" />
И ваши загруженные файлы будут отображаться.
Комментарии:
1. встраивание из HTML5? не требуется устанавливать какую-либо сборку?
2. Да, @Kiquenet, ссылка для вставки из HTML5 для получения дополнительной информации о теге «embed»: w3schools.com/tags/tag_embed.asp Мне не нужна была никакая установка, просто добавил строку в свой html и добавил свой PDF-файл в папку «wwwroot».