当您打印 Google 文档等时,Google 如何在 Analytics 中制作那些很棒的 PDF 报告?[关闭]

StackOverflow https://stackoverflow.com/questions/47709

当您从 Google 文档打印(使用“打印”链接,而不是文件/打印)时,您最终会打印格式良好的 PDF 文件,而不是依赖浏览器的打印引擎。Google Analytics 中的一些报告也是如此。。。PDF 格式的打印报告非常漂亮。他们是怎么做到的?我无法想象他们会使用 Adob​​e Acrobat 之类的工具来实现这一点,但也许他们会这样做。我时常在网上看到一些昂贵的 HTML 到 PDF 转换器,但从未厌倦。有什么想法吗?

有帮助吗?

解决方案

如果你专门研究谷歌是如何做到的。如果你看一下 PDF 属性 页面,他们使用 Prince 6.0(参见 Princexml.com)

还有很多其他 PDF 生成器。我取得了巨大的成功 PDF库 对于棘手的工作。

alt text

其他提示

iTextSharp 和 iText 分别是.NET 和 Java 的开源免费 PDF 生成库。

我之前曾使用它们生成 PDF 报告,并且对结果非常满意。

http://itextsharp.sourceforge.net/

http://www.lowagie.com/iText/

PrinceXML 的绝佳免费替代品: wkhtml转pdf 。有很多针对各种语言的包装器库 - 但我只使用了 Ruby 的。然而,产品本身与 PrinceXML 恕我直言。

我已经取得了成功 PD4ml. 。它有一个标签库,因此您可以通过以下方式将任何现有的 HTML 转换为 PDF

<pd4ml:transform>
<!-- Your HTML is here -->

<c:import url="/page.html" />
</pd4ml:transform>

好吧,我怀疑它是否像生成 HTML 一样简单。。。我的意思是,首先,PDF 不是人类可读的格式,也不是纯文本(如 SVG)。事实上,我会将 SVG 文件与 PDF 文件进行比较,因为两者都可以精确控制打印页面的布局。但 SVG 的不同之处在于它是 XML(而且浏览器并不完全支持它)。。。仍在研究 SVG)。想想看,SVG 应该是我的下一个问题。

我知道 Google 不使用 .NET,而且我怀疑他们使用 Java,因此他们必须使用其他一些库来生成 PDF 文件。更重要的是,他们如何创建 PDF,而不必将所有内容重写为 PDF 而不是 HTML?我的意思是,当它们生成 HTML 视图而不是 PDF 视图时,必须有一些共享代码。想想看,也许 PDF 视图和 HTML 视图是完全独立的,它们只有两个视图,因此 MVC 开发风格似乎是最佳选择。

渲染 PDF 是一个困难且复杂的问题。然而生成它们却不是。简单地组成一些实体,然后生成。这与为网页生成 HTML 和为网页生成 HTML 的问题域相同。显示(渲染)它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top