【问题标题】:MeadCo ScriptX printing in IEMeadCo ScriptX 在 IE 中打印
【发布时间】:2016-01-04 03:40:12
【问题描述】:

我正在尝试在任何版本的 IE 7 及更高版本中使用 MeadCo ScriptX 进行客户端打印(仅需要 IE)。大约 1000 名用户中的一些用户有 Windows XP、7 和 8。一些有 64 位和一些 32 位。我无法控制他们拥有的 OS 版本和 IE 版本。

目前我们只使用 JavaScript 进行打印:window.print().

但用户一直抱怨在打印横向时有时页面不适合 1:1。为了解决 1:1 的景观,我使用这个链接尝试了一些 CSS。它在一定程度上有所帮助,但在某些情况下它不适合 1:1。 http://www.cnblogs.com/blodfox777/archive/2008/09/16/1291888.html

由于它使用浏览器打印,所以我没有运气使用 JavaScript 隐藏页眉和页脚,除了设置一些 IE 设置。

最后,由于它使用window.print,我无法控制打印设置或字体。

为了克服所有这些问题,上面的链接建议使用 MeadCo ScriptX。目前我正在考虑一个免费版本。

在使用 MeadCo ScriptX 之前我需要考虑哪些事项?它会帮助我解决上述所有问题吗?在部署过程中我会遇到什么问题?

【问题讨论】:

    标签: javascript asp.net printing


    【解决方案1】:

    MeadCo ScriptX 可能有助于确保页面适合 1:1,但只有在减小打印边距的大小以增加可打印区域的情况下才会如此。您可以使用 MeadCo ScriptX 设置边距。

    是的,您可以控制页眉和页脚(包括将它们设置为空字符串)。

    打印内容的字体控制完全由 css 决定,不需要 MeadCo ScriptX。使用 ScriptX,您还可以控制用于页眉和页脚的字体。

    考虑 ScriptX 的一个有用方法是它使 IE 自动化。如果您可以使用 IE 打印设置将打印输出可靠地打印为 1:1,那么您可以使用(例如)javascript 重现所有这些 - 当用户离开页面时,您使用脚本所做的任何更改都会恢复,因此他们的默认设置不是打扰了。

    可以使用带有 .msi 安装程序的企业分发系统进行部署,也可以使用使用 codebase 属性指定的 cab 文件。任何一种方法都需要管理员权限才能安装。您不需要为每个版本的 IE 使用不同版本的 ScriptX,最新版本的 MeadCo ScriptX 可在浏览器版本可用的每个操作系统上与 IE 5.5 到 IE 11 配合使用。 ScriptX 不适用于 Edge,因为 Edge 不允许二进制扩展。

    必须启用脚本,以及运行 ActiveX 控件的能力。如果您可以避免使用 IE 8,请这样做。它可以工作,但有一些烦人的问题在 IE 7 或 9 或更高版本中不存在。

    由于您只使用 x86 的免费版本的 ScriptX,即使在 x64 系统上也始终使用 32 位版本的 IE。

    【讨论】:

    • 这就是我现在拥有页边距的方式 ..if (MeadCo.ScriptX.Init() MeadCo.ScriptX.Printing.leftMargin = 0.70 MeadCo.ScriptX.Printing.topMargin = 0.0 MeadCo.ScriptX. Printing.rightMargin = 0.0 MeadCo.ScriptX.Printing.bottomMargin = 0.0 MeadCo.ScriptX.Printing.header = ""; MeadCo.ScriptX.Printing.footer = ""; MeadCo.ScriptX.Printing.orientation = "风景"; MeadCo. ScriptX.PreviewPage(false); }
    • 除了将左边距设置为 0.7 而不是 0 之外,这都是正确的代码,如果它不打印 1:1,那么您的布局对于可用的可打印区域来说太大了(考虑到打印机自己的最低保证金)。
    • 澄清一下,指定边距有两个问题。第一个是单位——我猜你的意思是 0.7 英寸,但这是你所有系统上的测量系统吗?
    • 如果某些系统正在使用 mm,您将不会得到您希望的结果。第二个是IE从纸张边缘测量打印边距,但打印机有自己的最小边距。 0.7 英寸是否比您的打印机最小边距小?您可以使用齿轮打印菜单中的页面设置 ... 查看最小边距,然后为每个边距设置 0。确定对话框,然后再次打开。您将看到边距的最小值。
    • 好的,谢谢。我可以问另一个问题:有没有办法可以有条件地设置上边距。我不想将其硬编码为 0.0。我希望它以适合 1:1 横向的方式调整上边距
    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2010-11-18
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多