谷歌是如何在分析和打印谷歌文档时制作这些很棒的PDF报告的?

谷歌是如何在分析和打印谷歌文档时制作这些很棒的PDF报告的?,pdf,google-analytics,pdf-generation,google-docs,Pdf,Google Analytics,Pdf Generation,Google Docs,当你从Google文档打印时(使用“打印”链接,而不是文件/打印),你最终打印的是格式良好的PDF文件,而不是依赖浏览器的打印引擎。谷歌分析中的一些报告也是如此。PDF格式的打印报告非常漂亮。他们是怎么做到的?我无法想象他们会使用AdobeAcrobat之类的工具来实现这一点,但也许他们确实做到了。我经常在网上看到一些昂贵的HTML到PDF的转换器,但我从未厌倦过。有什么想法吗?iTextSharp和iText分别是.NET和Java的开源和免费PDF生成库 我以前用它们生成过PDF报告,对结果

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

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

我以前用它们生成过PDF报告,对结果非常满意


呈现PDF是一个困难而复杂的问题。然而,生成它们并不重要。只需组成一些实体,并生成。这和为网页生成HTML与显示(呈现)它的问题域差不多。

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


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

如果你特别关注谷歌是如何做到这一点的。如果您查看页面,他们使用Prince 6.0(请参阅)

还有很多其他的PDF生成器。我在处理棘手的工作方面取得了巨大的成功

我在这方面取得了成功。它有一个标记库,因此您可以通过

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

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

PrinceXML的伟大免费替代品:。有很多用于各种语言的包装器库,但我只使用过Ruby。然而,产品本身与PrimeXMIHO相当。