【发布时间】:2008-11-25 13:04:29
【问题描述】:
我们如何使用打印文档进行打印,以便我们可以控制打印纸的大小?
- web后必须控制 托管是在没有打印的情况下完成的 对话框弹出窗口或 javascript 弹出窗口。
- 应该在客户端的打印机上打印 在没有打印的虚拟主机之后 对话框选项和设置纸张 大小。
- 应该在 C# .net 中完成
【问题讨论】:
-
你能再解释一下吗?您是在编写客户端应用程序还是 Web 应用程序?还是两者兼有?
我们如何使用打印文档进行打印,以便我们可以控制打印纸的大小?
【问题讨论】:
作为用户,我不希望在我进入网站时有人更改我的打印机设置或控制我的打印机。
出于安全原因,我希望这是不可能的。
【讨论】:
您最好的选择是生成包含适当尺寸的 PDF 文件。除非用户在打印对话框中手动更改它,否则打印机应根据此选择正确的页面大小。
绕过打印对话框是一种安全限制,ActiveX 或 firefox 扩展是您唯一的选择,这在基于 Intranet 的 Web 应用程序上可能没问题。
【讨论】:
我能够对打印机客户端进行如此多的控制的唯一方法是创建一个 ActiveX 组件来处理打印界面并从那里开始。它不是跨浏览器,也不是最干净的解决方案;但是,这是我能够管理纸张大小的唯一方法。我查看了一个 CSS @print 选项,但找不到一个可以真正控制大小的选项。
唯一的另一种可能性是查看诸如 Flash 或 Silverlight 之类的打印功能。我不知道他们是否有你要找的东西;但是,它可能是另一种选择。
【讨论】:
如果您授予 Java 小程序适当的权限,我相信它能够设置纸张大小。我认为您的用户几乎可以肯定必须跳过箍才能使其正常工作...
【讨论】:
也许为时已晚,但我正在添加以供将来参考;您可以使用一种下载/打印管理器实用程序。想象一下 torrent 磁力链接,你点击一个链接和一个 torrent 客户端打开的 .torrent 文件,它会读取必要的信息,然后在客户端完成剩下的工作。
因此,您必须编写一个小实用程序来识别您网站上的这些“打印作业”。您单击 [打印发票] 链接,浏览器会下载一个唯一的 .print 文件,该实用程序会捕获它。
.print 文件有两部分:1. 标题和 2. 文件 (pdf/jpg/any)。标题包含预定义的打印机/纸张尺寸/方向/等,或者只是要求用户输入。然后从 2.part/body 打印文件。
您还可以将打印作业排队并进行管理。
您必须安装该实用程序;定义一个像 http:// 或 ftp:// 这样的协议来从实用程序中捕获打印链接。并为发票/彩色打印/等特定工作设置打印机/纸张/等。
当我将我们的 winforms 应用程序移植到 web 时,我会做这些。另外,如果您在 LAN 环境中,那么您会将内容从 Web 服务器打印到网络打印机。
【讨论】:
我之前研究过这个问题,强制执行纵向/横向等内容的唯一方法是让用户安装 ActiveX 控件(或类似控件)。
仅 Javascript 或 CSS 无法做到这一点。
【讨论】: