代码之家  ›  专栏  ›  技术社区  ›  tooshel

谷歌是如何在分析和打印谷歌文档等方面制作这些出色的PDF报告的?[关闭]

  •  6
  • tooshel  · 技术社区  · 16 年前

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

    6 回复  |  直到 12 年前
        1
  •  13
  •   Neysor    13 年前

    如果你特别关注谷歌是如何做到的。如果你看 PDF Properties 第页,他们使用王子6.0(参见 princexml.com )

    有很多其他的PDF生成器。我很成功 PDFlib 对于棘手的工作。

    alt text

        2
  •  3
  •   FlySwat    16 年前

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

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

    http://itextsharp.sourceforge.net/

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

        3
  •  3
  •   konung    14 年前

    Princexml的免费替代品: wkhtmltopdf . 有很多不同语言的包装库——但我只使用了Ruby语言。然而,产品本身与Princexml IMHO不相上下。

        4
  •  1
  •   Brian    16 年前

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

    <pd4ml:transform>
    <!-- Your HTML is here -->
    
    <c:import url="/page.html" />
    </pd4ml:transform>
    
        5
  •  -1
  •   tooshel    16 年前

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

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

        6
  •  -3
  •   wx    16 年前

    呈现PDF是一个困难、复杂的问题。不管生成它们是什么,都不是。只需组成一些实体,然后生成。它和为网页生成HTML和显示(呈现)HTML的问题域是相同的。