PDF阅读器在MVC显示在浏览PDF内容(Pdf Viewer in MVC to show the

2019-07-04 14:00发布

我有一个名为ShowDocument.cshtml查看。

我要显示在浏览PDF文档。 首先我在HTML页面转换成其包含的信息为.PDF:

在控制器中的代码是:

Stream stream = HtmlToPdfBuilder.GetHtmlForm(model.Type, 16);

如果我给回File(stream, "application/pdf", "Authorization.pdf")我会得到尽可能保存,另存为对话框。

我不想要这个对话框,我想只显示在页面内的PDF内容。

那么,有没有在任何MVC PDF阅读器,这样我只能用一些控制显示在查看内容

Answer 1:

这可能不是正是你想要的,但可能满足您的需要。 您可以嵌入PDF中的局部视图然后更新通过AJAX与窗体上的PDF的局部视图提交按钮。

示例代码:局部视图

    @model Test.Models.ViewModel

<style type="text/css">

#pdfbox
{
    width:600px;
    height:400px;
    border: 5px solid #ccc;
}

</style>

<object id='pdfbox' type="application/pdf" data="@Url.Action("GeneratePDF", "Home", Model)">
    Click @Html.ActionLink("here", "GeneratePDF", "Home") to view the file.
</object>    

控制器电话:

    public ActionResult GeneratePDF(ViewModel model)
    {

        byte[] bytes = OpenPDFAndGetBytes("Thepdfname");
        return File(bytes, "application/pdf");
    }

    public ActionResult RenderPDF(LabelViewModel model)
    {
        return PartialView(model);
    }

主要观点:

@using (Ajax.BeginForm("RenderPDF", "Home", new AjaxOptions { UpdateTargetId = "pdf" }))
{
    <table>
        <tr>
            <td>
                <fieldset>
                    <legend>Fill the form:</legend>
                        Some form junk can go here
                    <br />
                    <input type="submit" value="Display PDF" />
                </fieldset>
            </td>
            <td>
                <div id='pdf'>
                    @{
                        Html.RenderPartial("RenderPDF", Model);
                    }
                </div>
            </td>
        </tr>
    </table>
}

(编辑:改变“主视图”发送给标题ISH)



Answer 2:

如何显示PDF文件取决于用户的浏览器。 我不认为有一个真正的“解决方案”为你的问题。

当我有这个问题我提供的PDF文件到多个PNG图像使用GhostScript的库在服务器上,然后在我的观点中引用的PNG文件。



文章来源: Pdf Viewer in MVC to show the pdf contents in View