【问题标题】:Printing a PDF File silently from .NET application [closed]从.NET应用程序静默打印PDF文件[关闭]
【发布时间】:2011-06-24 15:28:21
【问题描述】:

我正在尝试从文件中静默打印 PDF。我尝试了网络上其他帖子的许多建议,但似乎都没有奏效。这样做的最佳方法是什么?

如果从文件打印有问题,我可以直接从MemoryStream 打印。我最初使用库从 HTML 转换为 PDF。这会完全按照我想要的方式呈现 PDF。

【问题讨论】:

  • 静默到底是什么意思?
  • 如果“静默”是指不显示打印对话框,我认为这是不可能的(但我承认我可能错了)。
  • 您使用什么第三方库来打印 PDF?
  • 您的 ASP.NET 标签是否意味着您正在尝试从 Web 浏览器打印远程文件?大多数浏览器的安全模型不允许这样做。

标签: c# asp.net pdf


【解决方案1】:

我过去曾使用 Foxit 来执行此操作。在这里查看我的问题/解决方案:Printing a PDF Silently with Adobe Acrobat

【讨论】:

  • 这就是我最终使用的。它完全无声地完成了打印输出,这正是我想要的
【解决方案2】:

如果您试图让客户端浏览器自动将 pdf 从链接发送到其本地打印机,那么您就不走运了。这个星球上没有一个浏览器可以让你这样做。

如果您尝试通过其自己的打印机驱动程序将文件发送到服务器本地的打印机,请参阅 Cole W 的回答。

【讨论】:

    【解决方案3】:

    我用过这个solution

    Document pdf = new Document(PageSize.LETTER);
    PdfWriter writer = PdfWriter.GetInstance(pdf, 
    new FileStream(Request.PhysicalApplicationPath + "~1.pdf", FileMode.Create));
    pdf.Open();
    
    //This action leads directly to printer dialogue
    PdfAction jAction = PdfAction.JavaScript("this.print(true);\r", writer);
    writer.AddJavaScript(jAction);
    
    pdf.Add(new Paragraph("My first PDF on line"));
    pdf.Close();
    
    //Open the pdf in the frame
    frame1.Attributes["src"] = "~1.pdf";
    

    PdfAction.JavaScript("this.print(true);\r", writer); 可以更改发送 false 参数,如 PdfAction.JavaScript("this.print(false);\r", writer);

    我没有尝试过,但可能是一种方法。

    【讨论】:

      【解决方案4】:

      您可以在隐藏打印对话框时try Aspose.Pdf.kit to print the PDF file 使用物理或虚拟打印机。为了隐藏打印对话框,你只需要set PrintPageDialog property to false

      披露:我在 Aspose 担任开发布道师。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-09
        • 1970-01-01
        • 1970-01-01
        • 2017-04-11
        • 1970-01-01
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多