我正在尝试在我的MVC网页中查看PDF文档,但我无法让它工作。
我希望PDF显示为页面上其他内容的一部分(页眉,页脚等)。目前我有一个显示PDF的解决方案,但是在整个页面上。
是否有人这样做过,如果有,那怎么办?
答案 0 :(得分:38)
为什么不尝试像这样使用iframe:
<iframe src="even file stream action url"></iframe>
如果可能的话,我建议使用对象标签,仅使用iframe进行测试。
如果您想像现在一样将PDF呈现为页面的一部分
src ='&lt;%Html.RenderAction(“GetPDF”); %GT;'
然后这是你的选择
如果您需要使用CSS或Google书籍等完全控制PDF内容,那么您需要的工具可以帮助您将每个请求的PDF页面转换为纯文本,HTML甚至图像。 像PDFsharp这样的工具。 Search Google For Tools
如果您希望将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作为Stream返回,那么您需要
public FileStreamResult GetPDF()
{
FileStream fs = new FileStream("c:\\PeterPDF2.pdf", FileMode.Open, FileAccess.Read);
return File(fs, "application/pdf");
}