2

我们如何使用打印文档进行打印,以便我们可以控制打印机的纸张大小?

  • 在没有打印对话框弹出或 javascript 弹出窗口的情况下,必须在虚拟主机完成后对其进行控制。
  • 在没有打印对话框选项和设置纸张大小的情况下,它应该在虚拟主机上打印在客户端的打印机上。
  • 它应该在 C# .net 中完成
4

6 回答 6

4

您最好的选择是生成其中包含适当 siez 的 PDF 文件。除非用户在打印对话框中手动更改它,否则打​​印机应根据此选择正确的页面大小。

绕过打印对话框是一种安全限制,ActiveX 或 firefox 扩展是您唯一的选择,这在基于 Intranet 的 Web 应用程序上可能没问题。

于 2008-11-25T13:54:42.990 回答
4

作为用户,我不希望当我进入网站时有人更改我的打印机设置或控制我的打印机。

出于安全原因,我希望这是不可能的。

于 2008-11-25T13:17:40.100 回答
2

我能够对打印机客户端进行大量控制的唯一方法是创建一个 ActiveX 组件来处理打印界面并从那里开始。它不是跨浏览器,也不是最干净的解决方案;但是,这是我能够管理纸张大小的唯一方法。我查看了 CSS @print 选项,但找不到可以真正控制大小的选项。

唯一的另一种可能性是查看诸如 Flash 或 Silverlight 之类的打印功能。我不知道他们是否有你要找的东西;但是,它可能是另一种选择。

于 2008-11-25T13:19:44.633 回答
1

我相信如果您授予 Java 小程序适当的权限,它可以设置纸张大小。我认为您的用户几乎可以肯定必须跳过箍才能使其正常工作......

于 2008-11-25T13:33:36.683 回答
1

也许为时已晚,但我正在添加以供将来参考;您可以使用一种下载/打印管理器实用程序。想象一下 torrent 磁力链接,您单击一个链接和一个由 torrent 客户端打开的 .torrent 文件,它会读取必要的信息并在客户端站点完成其余的工作。

因此,您必须编写一个小实用程序,它可以从您的网站识别这些“打印作业”。您单击 [打印发票] 链接,浏览器会下载一个唯一的 .print 文件,该实用程序会捕获它。

.print 文件有两部分:1. 标题和 2. 文件 (pdf/jpg/any)。标题包含预定义的打印机/纸张尺寸/方向/等,或者只是要求用户输入。然后从 2.part/body 打印文件。

您还可以将打印作业排队并进行管理。

您必须安装该实用程序;定义一个像 http:// 或 ftp:// 这样的协议来从实用程序中捕获打印链接。并为发票/彩色打印/等特定工作设置打印机/纸张/等。

当我将我们的 winforms 应用程序移植到 web 时,我会做这些。另外,如果您在 LAN 环境中,那么您会将内容从 Web 服务器打印到网络打印机。

于 2013-11-13T22:09:08.120 回答
0

我以前研究过这个,强制像纵向/横向等的唯一方法是让用户安装一个 ActiveX 控件(或类似的)。

仅 Javascript 或 CSS 无法做到这一点。

于 2008-11-25T13:42:36.710 回答