0

专家们,

我需要你的帮助。我有一个网络应用程序,我正在使用 itext sharp 创建一个 pdf 并尝试静默打印。

创建pdf后,我想使用代码打印它

MemoryStream ms = new MemoryStream();
    string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);

    var urlPdf = Server.MapPath("~/MERGPdf/Merge_doc.pdf");

    PdfReader ps = new PdfReader(urlPdf);

    /*inserts js into pdf*/
    PdfStamper pdf = new PdfStamper(ps, ms);

    pdf.JavaScript = "this.print({bUI: false, bSilent: true, bShrinkToFit: true});";
pdf.Close();


    HttpContext.Current.Response.ClearContent();
    HttpContext.Current.Response.ClearHeaders();
    HttpContext.Current.Response.ContentType = "application/pdf";
    HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=GridViewExport.pdf");
    HttpContext.Current.Response.BinaryWrite(ms.ToArray());
    ms.Flush();

但我的问题是,pdf在同一个窗口中打开,用户必须单击后退按钮才能转到页面..如何避免它..

问候,

西瓦吉斯·S。

4

1 回答 1

0

你可以弹出一个小窗口……比如 400 像素乘 300 像素……用它来运行那段代码。

完成后,您可以关闭它....

你可以参考这个看看有没有帮助...

http://forums.asp.net/t/1287755.aspx/1

于 2013-09-01T04:19:23.180 回答