是否可以为实际未嵌入页面的打印机输出标记?
问题是我有一个 Flash 应用程序,它以一种不太适合打印的方式呈现来自后端的动态数据,但客户希望有一个可打印的版本以及原始数据。我可以通过简单的 PHP 页面查询轻松输出此类内容,但问题是在用户调用打印时将其发送到打印机。
创建自定义打印按钮并要求用户单击该按钮(而不是他们的浏览器打印功能),然后在新窗口中加载 PHP 页面并打印该页面的唯一选项是什么?或者我能否有效地覆盖发送到打印机的 HTML 内容,就像我可以使用媒体属性覆盖 CSS 一样?
最佳答案
发送到打印机的 HTML 文档必须与发送到浏览器的相同。正如您所建议的,特殊的打印布局是实现此行为的一种常见方式。
另一种可能是采用 CSS 媒体属性的想法并与之一起运行:在原始 HTML 文档中呈现原始数据,将其隐藏在屏幕样式表中,并在打印样式表中显示。但是,由于听起来此应用程序中的大部分导航都发生在 SWF 中,而不是在浏览器的地址栏上(我仍然不确定我是否理解了问题),所以这可能不可行。也许 Flash 文件可以将原始数据发送到页面上的 Javascript 以将其格式化为隐藏的 HTML,但这可能有点太多工作不值得使用该功能,用户甚至可能没有意识到他们的目的只需打印该页面即可。我知道我不会期望这会神奇地发生。
此时打印页面可能是您的最佳选择。 Javascript+CSS 解决方案可能有效,但可能不值得您花时间。
关于html - 打印特定的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5372635/