【问题标题】:Generate PDF on server side and print it on client side using itextsharp.dll [duplicate]在服务器端生成 PDF 并使用 itextsharp.dll 在客户端打印它 [重复]
【发布时间】:2015-03-06 06:05:49
【问题描述】:

我正在开发一个 ASP.NET Web 表单应用程序,我必须在其中生成 pdf 并在客户端打印它。我的朋友给了这个代码:

        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", a);
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        n.RenderControl(hw);
        deg.RenderControl(hw);
        n.RenderControl(hw);
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A4, 70f, 70f, 70f, 70f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();
        pdfDoc.NewPage();

        htmlparser.Parse(sr);
        pdfDoc.Close();

        Response.Write(pdfDoc);
        Response.End();

此代码生成 pdf,但会在客户端自动下载。我不希望它被下载,而是直接打印在客户端。

我不知道如何进一步进行,但我认为 pdf 不应写为“响应”,而应写为内存流并打印为 adobe reader 的后台进程。怎么做?请分享一些代码。

【问题讨论】:

标签: c# asp.net pdf itextsharp


【解决方案1】:

仅从 ASP.NET 无法触发它在客户端自动打印。您能做的最好的事情就是弹出打印对话框。也许这对您的用例来说已经足够了。请看这个答案:https://stackoverflow.com/a/9639241/94853

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2011-07-26
    • 1970-01-01
    • 2012-05-19
    • 2019-10-13
    相关资源
    最近更新 更多