ASP.Net - 使用 Web 方法打开 PDF

发布于 11-27 19:52 字数 104 浏览 2 评论 0 原文

只是想知道是否可以使用称为使用 AJAX 的 Web 方法打开 PDF?要打开的文件存储在服务器上的临时目录中。

有人对如何实现这一目标有任何建议吗?

谢谢大家!

Just wondering if it's possible to open a PDF using a web method called using AJAX? The file to open is stored in a temp directory on the server.

Does anyone have any suggestions how this can be achieved?

Thanks all!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

上课铃就是安魂曲 2024-12-04 19:52:49

Oded 已经为您提供了最好的解决方案,但是,如果您仍然想这样做,这里是:

您可以使用此 jquery 插件

您的网页将有一个超链接:

<a id="PrintAjaxReport" href="javascript:{}">Print report Ajax</a>

jQuery:

$(document).ready(function() {
    $("#PrintAjaxRepor").click(function() {
         $.download('PdfReport.aspx', "filename=mySpreadsheet", "POST");
     });
});

PdfReport.aspx

public partial class PdfReport : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var pdfDocumentName = Request.Params["filename"].ToString() + ".pdf";
        var myReport = "Razor Syntax Quick Reference.pdf";

        var FileName = Path.Combine(Path.Combine(Server.MapPath("~"), "Temp"), myReport);

        Response.Clear();
        Response.ClearHeaders();
        Response.ClearContent();

        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Type", "application/pdf");
        Response.AddHeader("content-disposition", "attachment; filename=" + pdfDocumentName);
        Response.TransmitFile(FileName);
        Response.End();
    }
}

您可以找到示例 (OpenPDFjQuery) "="">此处。

Oded has given you the best solutions but, if you still want to do it that way, here it goes:

You can use this jquery plugin.

Your web page would have an hyperlink:

<a id="PrintAjaxReport" href="javascript:{}">Print report Ajax</a>

jQuery:

$(document).ready(function() {
    $("#PrintAjaxRepor").click(function() {
         $.download('PdfReport.aspx', "filename=mySpreadsheet", "POST");
     });
});

PdfReport.aspx

public partial class PdfReport : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var pdfDocumentName = Request.Params["filename"].ToString() + ".pdf";
        var myReport = "Razor Syntax Quick Reference.pdf";

        var FileName = Path.Combine(Path.Combine(Server.MapPath("~"), "Temp"), myReport);

        Response.Clear();
        Response.ClearHeaders();
        Response.ClearContent();

        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Type", "application/pdf");
        Response.AddHeader("content-disposition", "attachment; filename=" + pdfDocumentName);
        Response.TransmitFile(FileName);
        Response.End();
    }
}

You can find a sample (OpenPDFjQuery) here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文