如何打印已被javascript更改的页面?

时间:2014-03-24 05:14:45

标签: javascript css ruby-on-rails pdf printing

这是我所拥有的screenshot

用户可以通过删除项目,添加项目或单击项目来跨页面来更改页面。我希望用户能够使用javascript打印他们已更改的页面。根据我的理解,要让用户打印,您可以使用不同的样式表设置创建单独的文件。

我使用的是Rails 4,我想我会使用this为用户创建PDF。

1)我不知道如何在删除,添加和删除正确的内容的情况下生成文档。

2)我不确定我是如何生成文档的,因为它没有像导航这样的东西(因为你不需要为你打印的列表出)。我只是想用CSS隐藏它。

1 个答案:

答案 0 :(得分:1)

1)客户所做的更改是客户端的吗?在这种情况下,跟踪所有用户的更改,当用户点击“打印”时,将所有这些更改(如参数)发送到rails,以便您可以从rails操作中呈现正确的信息。

但通常,在rails / javascript应用程序中,当用户在客户端使用javascript执行不同的操作时,它会调用一些ajax代码来通知rails应用程序有关更改,因此您可以将新状态存储在rails数据库,以便用户以后可以重新加载状态。您还可以将应用程序的状态存储在会话或临时缓存中。

2)这就是我想要自定义用户打印的内容,我隐藏了我不想打印的类,在html上,当包含css时,你告诉浏览器css应该通过包含媒体打印应用于打印文档,例如:

stylesheet_link_tag "my_style", media: "print"

尽管如此,在这种情况下,你没有使用浏览器打印功能,从我可以从你的问题中理解,你将生成一个pdf,因此,你将结束从rails渲染视图,你可以添加一个参数来让视图知道它将被渲染用于打印(因此您可以绘制自定义css或者只是避免渲染导航栏),或者您可以使用自定义代码/视图调用不同的操作来生成pdf。