谷歌如何制作那些在分析中心和打印谷歌文档时产生的华丽PDF报告?

7
当您从Google Docs打印(使用“打印”链接,而不是文件/打印),您最终会打印出一个漂亮格式的PDF文件,而不是依赖于浏览器的打印引擎。Google Analytics中的某些报告也是如此...打印的报告作为PDF非常漂亮。他们是如何做到的呢?我无法想象他们使用类似Adobe Acrobat之类的软件来实现它,但也许他们确实这样做了。我有时会在网上看到一些昂贵的HTML转PDF转换器,但从未尝试过。您有什么想法吗?
6个回答

13
如果你特别想了解Google是如何做到的。如果你查看PDF 属性页面,他们使用Prince 6.0(请参见princexml.com)。
还有很多其他的PDF生成器。对于棘手的工作,我已经成功地使用了PDFlib

alt text


3

3

一个很好的免费替代PrinceXML的选择是wkhtmltopdf。有许多各种语言的包装库,但我只使用过Ruby的。然而,在我看来,这个产品本身与PrinceXML相当。


1

我已经成功地使用了pd4ml。它有一个标签库,因此您可以通过

将任何现有的HTML转换为PDF
<pd4ml:transform>
<!-- Your HTML is here -->

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

-1

嗯,我怀疑生成HTML那么容易吗……我的意思是,首先,PDF不是人类可读的格式,也不是纯文本(如SVG)。实际上,我会把SVG文件和PDF文件进行比较,因为两者在印刷页面布局方面都具有精确控制。但SVG不同之处在于它是XML(也不完全支持浏览器……还在研究SVG)。说到这里,SVG可能应该是我接下来的问题。

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


-3

渲染PDF是一个困难而复杂的问题。然而生成它们并不困难。只需创建一些实体并生成即可。这类似于为网页生成HTML与显示(渲染)它的问题域。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接