谷歌日历打印如何工作?

时间:2009-07-27 06:29:05

标签: javascript calendar google-calendar-api

我正在使用Jquery在ASP.NET中构建日历, 我正在尝试实施Print。 我可以打印简单的html或图像没有问题。 但我无法弄清楚如何制作像谷歌日历打印一样的打印件。

当您在“日历打印预览”中按“打印”时,弹出的打印对话框有更多选项(跨浏览器), 这个打印对话框与简单的浏览器打印有何不同, 而且他们似乎有更多的控制,比如设置风景画。

任何人都知道如何实现这个目标?

由于

1 个答案:

答案 0 :(得分:2)

它只是一个弹出窗口,其中包含一些选项,这些选项会发布到服务器端脚本,生成.pdf文档。

您可以使用

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

在不使用生成image / pdf的服务器端脚本的情况下执行类似操作。

请注意 media =“print”,这意味着打印页面时将使用给定的样式表。你可以在那里指定自定义css规则(比如隐藏导航,让日历在纸上看起来很漂亮等)。

编辑:

回应评论。如果将html转换为pdf,它看起来将完全相同。当您在Google日历中提交该表单时,他们会获取所有这些选项并从中生成pdf。如果您选择横向,他们将旋转页面并重新计算所有内容,使其适合页面。为了简化它,他们根据您提交的选项在服务器端绘制图像并将其放入pdf中。

如果你之前没有这样做,那就不那么简单了。我会在那个打印页面上玩css和JavaScript,看看我是否可以通过使用JS和css规则在横向和纵向之间切换来模仿类似的东西(制作2个按钮 - “横向”,“纵向”,当用户点击它们时您更改日历的css规则,以使其适合给定的纸张尺寸)。如果你不熟悉css,那将很难。

没有明确的答案,google采取的路径非常好,但重现并不是那么简单。

评论中的更多信息。