【问题标题】:How to print background images and colors in Edge browser如何在 Edge 浏览器中打印背景图像和颜色
【发布时间】:2017-03-01 09:34:39
【问题描述】:

虽然 IE 和 FF 等浏览器为用户提供了在打印中包含背景时设置的选项,但 Edge 的打印机设置中似乎没有此选项。

有没有办法通过代码或原生 Edge JS 命令来激活它?

【问题讨论】:

  • 我猜它还没有实现——即使是正常的图像打印现在在 Edge 中也是随意的。我认为没有办法覆盖它,因为所有主流浏览器中的打印功能都无法运行页面上的js。
  • 我已经运行 Windows 10 虚拟机一段时间了,一旦 IE 11 的打印设置选择了背景颜色,EDGE 就可以正常工作。但是,我最近升级到了最新的 Windows 10,现在 EDGE 不会打印背景颜色了。好像有什么东西坏了,我找不到配置它的地方。
  • 对于背景图片的解决方法,可以尝试将其放在后标记中,例如 div::after { content: url(image.jpg); }
  • 请在User Voice上投票支持“允许边缘打印背景颜色”

标签: javascript html css printing microsoft-edge


【解决方案1】:

这是问答 - 但我不会接受它作为答案。所以,请也写你的。

截至 2017 年 4 月,Edge 浏览器没有明显的解决方案。Edge 根本不在其打印中包含背景阴影。这缺乏功能,当您转到 outlook.com(来自 Microsoft 本身)通过 Edge 打印带有背景颜色的日历时,这一点很明显。

Edge 提供的一个虽然笨拙的解决方案是“使用 IE 打开”菜单项。这有效 - 但仅适用于静态页面,因为它试图在 IE 中打开当前 URL。


我为我的应用程序所做的解决方法是在我的打印页面上包含一个“为 IE 保存”按钮。单击时,它会遍历可打印页面的当前 DOM 树,创建一串标记(必要时进行调整),然后让用户将其保存为单个文件。

现在用户可以用 IE 打开它直接发送到打印。


不够好!但总比使用 Edge 让您的应用程序看起来无能为力要好。如果所有这些都不起作用,只需在要打印背景的顶部创建一个 svg 元素,并为 svg 元素填充颜色。


编辑:

通过用标签替换 div 将我所有的背景转换为前景就可以了。通过改造等,它比我预期的要好。

【讨论】:

  • 转前台是什么意思?
  • 请查看编辑后的答案。很抱歉造成混乱。
  • 我用标签元素替换了一个 div,但它没有使背景颜色出现在打印中。您是在使用背景、背景颜色或其他方法来让内容显示在打印中吗?
  • @Charlie 我可以通过使用带有我选择的填充颜色的画布来制作纯色。你是怎么处理标签的?
猜你喜欢
  • 2012-05-25
  • 1970-01-01
  • 2011-10-03
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多