查看PDF作为页面的一部分

Pet*_*ter 20 c# pdf asp.net-mvc partial

我试图在我的MVC网页中查看PDF文档,但我无法使其工作.

我希望PDF显示为页面上其他内容的一部分(页眉,页脚等).目前我有一个显示PDF的解决方案,但在整个页面上.

有没有人这样做过,如果有,那怎么样?

Bey*_*ygi 41

为什么不尝试像这样使用iframe:

<iframe src="even file stream action url"></iframe>
Run Code Online (Sandbox Code Playgroud)

如果可能,我建议使用对象标签,仅使用iframe进行测试.

如果您想像以前一样将PDF呈现为页面的一部分

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

那么这是你的选择

如果您需要使用CSS或Google书籍等完全控制PDF内容,那么您需要的工具可以帮助您将每个请求的PDF页面转换为纯文本,HTML甚至图像.像PDFsharp这样的工具. 搜索Google For Tools

如果您希望将PDF显示为页面的一部分,那么您就必须这样做

ASPX: src="<%= Url.Action("GetPDF") %>"
Razor: src="@Url.Action("GetPDF")"
Run Code Online (Sandbox Code Playgroud)

最后的答案可能是

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

如果您想将PDF作为Stream返回,那么您需要

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