有没有办法只打印主题中的一个帖子,而不是整个主题?
不完全是,你可以这样做:https://meta.discourse.org/raw/79562/78 来获取原始 markdown,但它是原始 markdown,并不美观。
我在今天的AMA(问答)环节中提出了关于改进打印支持的问题,这是我在META上提出类似问题的旧帖子,我提议将其重新激活。(我认为可能还有第二个帖子。)
能够选择在打印帖子串时包含哪些帖子会非常有帮助。
打印输出的格式选项也会有帮助,因为屏幕显示的良好格式不一定等同于打印输出的良好格式。
有单独的 CSS 用于打印。
我不太确定如何选择性地打印帖子。
我确实尝试过进行实验。它有点效果,但存在一些我需要解决的缺点。
您可以通过以下几种方式将帖子打印为 PDF:
-
使用第三方库将 HTML 转换为 PDF(通常读取 HTML 节点,尝试克隆 CSS,然后从头开始生成 PDF(或将其转换为画布,然后转换为 PDF)——通常很笨重且容易出现限制)。
-
打开一个窗口并克隆 HTML/CSS。然后,触发该窗口的操作系统打印功能。正确提取/设置 CSS 似乎不可靠/缓慢,不遵循打印样式,并且窗口可能会被阻止。
-
使用操作系统的原生打印功能“另存为 PDF”:——主要问题在于告诉操作系统要打印什么。
(我没有调查所有内容)
我尝试了后者,并发现了一个 CSS 技巧(不是我发现的),该技巧基本上可以隔离帖子(意味着隐藏其他所有内容),然后以编程方式运行操作系统的打印功能。
演示:
目前存在一些问题:
- 取消隐藏样式时,您会丢失帖子之前的 [original] 位置。
- 有时,在打开打印窗口之前,元素没有足够快地隐藏。
这有点棘手,但它确实有效,而且在我看来,依赖操作系统是一个很大的优势。![]()
嗯,版主在移动帖子时可以选择帖子,所以选择帖子的代码已经存在了,(可能)需要的是一种方法将选定的帖子变成可打印的东西。
确实如此!应该可以使该代码可用于“打印全部”功能。如果您有预算并且是自托管(或企业版),那应该可以实现。
编辑:等等。等等。等等。据我所知,Control-P 会显示整个主题的视图,但我刚才试了一下,它只是显示了
我以为这只是元(meta)上的问题,但我在其他几个论坛上试了一下,它并没有提供所有帖子。这似乎是一个错误,但我显然已经好几年没有密切关注这个问题了。
奇怪的是,如果你没有登录,它似乎会给你整个主题。这仍然不是我想要的,但可能比直接从浏览器打印要好一些。
我们今天已经注意到这个 bug 了,并且正在修复中。
我分享了在内部选择要打印或导出的帖子的想法。不知道是否会以及何时会着手处理,但我们已经注意到需要做这件事了。
有一个 alpha TC: