如何使用node-jade模板引擎打印网页的特定部分

时间:2015-11-28 21:29:25

标签: javascript node.js express pug

我已阅读与该主题相关的类似问题但无法找到解决我问题的具体方法。

我已经从Git下载了一个Invoicer项目并且工作正常,我怀疑逻辑是不是在我的范围内,因为我无法弄清楚如何只在页面的特定部分打印而在脚本中它不是提到要打印的div标签。

以下是所有代码Git- repository

的链接

... \ app \ server \ routes有一个名为invoice.js的文件,它有打印功能,只有在点击打印发票时才会告诉你要加载什么。

exports.print = function print(req, res) {
    if (req.session.user == null) {
        res.redirect('/?from='+req.url);
    } else {
        if (req.query.id) {
            DB.invoices.findOne({_id:new ObjectID(req.query.id)},function(e, result) {
                result = helpers.formatMoney(result);
                res.render('print_invoice', { layout: 'print.jade' ,    locals: {   title: __("Invoice"), result : result, udata : req.session.user } });
            });
        } else {
            res.redirect('/invoices');
        }
    }
};

重定向到模板下方。

... \ app \ server \ views有一个名为print.jade&的文件。 print_invoice.jade print.jade是用于打印的布局文件,并在其中调用发票正文。

input(type="button", value=__("PRINT"), onclick="window.print()").btn.btn-primary

在这个打印页面上只给出了window.print(),但我不知道如何知道要打印哪个div以及不打印哪个div。

以下是屏幕截图:webpage printpage

请帮我弄清楚我错过了什么。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

Solution 在搜索并阅读了很多解决方案后,我发现它非常简单,与jade或javascript无关,并且使用css完成。

以下是: Solution on SO

谢谢堆栈溢出。