1

我正在使用 jqprint 插件,并且非常喜欢它的运行方式只有一个问题。我需要为要打印的对象添加颜色。我试图在对象被发送到 Jqprint 之前对其进行着色,但这并没有改变任何东西。我知道您可以在 @media 标记内编写 CSS,但是当我的 html 被渲染到 chrome 中的打印预览中时,它似乎被更改为 pdf,我无法访问像常规 html 这样的元素。

有没有人使用任何其他打印插件或对如何使用 jqprint 在我的打印中获取颜色有任何想法。

基本上我有一个表,我像这样发送到 jqprint:

var $printStuff = $("#divTable");
$printStuff.jqprint();
4

2 回答 2

1

我一直在寻找更好的解决方案,如果您想为打印版本更改多个 CSS 样式,我建议您为该功能添加一个特定的 CSS 文件:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

在 CSS 文件中,您还可以使用以下行隐藏内容:

.classToHide { display: none; }

问候。

于 2011-08-26T11:36:38.753 回答
0

这不是最干净的解决方案,但您可以尝试在 jqprint() 调用之前将样式直接添加到打印对象。

我也喜欢创建打印对象的副本,因为它不会影响加载页面内的对象。打印后销毁。

var $printStuff = $("#divTable").clone();

$printStuff.css("color", "blue");

$printStuff.jqprint();
$printStuff.empty().remove();

请记住,您也可以操作克隆的对象,删除您不会打印的标签。

试试看,祝你好运!

于 2011-08-26T09:55:38.133 回答