Просмотр PDF как часть страницы

Я пытаюсь просмотреть документ PDF на моей веб-странице MVC, но я не могу заставить его работать.

Я хотел бы, чтобы PDF файл отображался как часть другого материала на странице (заголовок, нижний колонтитул и т.д.). В настоящее время у меня есть решение, в котором отображается PDF, но на всей странице.

Кто-нибудь сделал это, если да, то как?

Ответы

Ответ 1

Почему бы вам не попробовать использовать iframe следующим образом:

<iframe src="even file stream action url"></iframe>

Я предлагаю использовать тег объекта, если это возможно, использовать iframe только для тестирования.

Если вы хотите отформатировать PDF как часть страницы, как вы только что сделали

src= '<% Html.RenderAction( "GetPDF" ); % > '

Тогда это ваш вариант

Если вам нужен полный контроль над содержимым PDF с помощью CSS или вообще, например, книг Google и т.д., вам нужны инструменты, которые помогут вам конвертировать каждую запрошенную страницу PDF в обычный текст, HTML или даже изображение. таких инструментов, как PDFsharp. Поиск в Google для инструментов

Если вы хотите отображать PDF как часть страницы, то это то, что вам нужно сделать

ASPX: src="<%= Url.Action("GetPDF") %>"
Razor: src="@Url.Action("GetPDF")"

И окончательный ответ может быть

<object data="<%= Url.Action("GetPDF") %>" type="application/pdf" width="300" height="200">
    alt : <a href="data/test.pdf">test.pdf</a>
</object>

И в случае, если вы хотите вернуть PDF в виде потока, вам нужно

public FileStreamResult GetPDF()
{
    FileStream fs = new FileStream("c:\\PeterPDF2.pdf", FileMode.Open, FileAccess.Read);
    return File(fs, "application/pdf");
}