如何"展平"从浏览器打印时的图像?

时间:2018-06-15 22:30:05

标签: html image pdf printing flatten

我们有网页,我们希望允许用户打印。页面可能包含我们希望"保护"的图像。我们采用了几种技术来防止天真的用户复制"网页上的图片。

当用户打印时,浏览器提供的一个选项是"打印到PDF"。我们无法阻止这种情况。问题是,PDF由离散图像组成,因此任何用户都可以单独从PDF中选择和复制图像。

我们希望使用html2canvas来解决问题,但是虽然它制作了一个漂亮的画布对象,但是打印画布并没有“平坦化”#34;组成图像。 (他们仍然可以被选中和复制)

其他人如何在他们的网页上保护图像,同时仍然允许用户打印它们?

2 个答案:

答案 0 :(得分:0)

您可以创建一个单独的样式表(类似print.css),它将为打印机显示不同的布局/样式。你可以使用display:none;为你谨慎的图像。

本文应该对如何进行设置提供一个很好的解释。 https://www.smashingmagazine.com/2011/11/how-to-set-up-a-print-style-sheet/

答案 1 :(得分:0)

html2canvas确实完成了我们想要的工作……修复了我们使用它们的错误之后。

我们以通常的方式建立dom,然后调用html2canvas来“快照”我们希望用户打印的屏幕部分。正确完成后,我们所有的图像都将折叠为一张图像,如果用户使用PDF打印,则无法将其拉开。

我们的错误是转换后无法从dom中正确删除所有图像。因此它们被离散地流到PDF中。