我正在使用jqprint插件,并且非常喜欢它的操作方式,只有一个问题。我需要给我要打印的对象添加颜色。我试图在对象被发送到Jqprint之前给它上色,但这没有改变任何东西。我知道你可以在@media标签内编写CSS,但是当我的html在chrome中渲染成打印预览时,它似乎被更改为pdf,我无法访问像常规html这样的元素。
是否有人使用任何其他打印插件或对如何使用jqprint使颜色进入我的打印有任何想法。
基本上我有一个表,我像这样发送给jqprint:
var $printStuff = $("#divTable");
$printStuff.jqprint();
我一直在寻找一个更好的解决方案,如果你想为打印版本更改多个CSS样式,我建议你为该功能添加一个特定的CSS文件:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
在CSS文件中,您还可以使用以下行隐藏内容:
.classToHide { display: none; }
问候。
这不是最干净的解决方案,但您可以尝试直接将样式添加到打印对象中,就在jqprint()调用之前。
我还倾向于创建打印对象的副本,因为它不会影响加载页面内的对象。打印完成后,销毁它。
var $printStuff = $("#divTable").clone();
$printStuff.css("color", "blue");
$printStuff.jqprint();
$printStuff.empty().remove();
请记住,您也可以操作克隆对象,删除不打印的标记。
试试吧,祝你好运!