2008-09-06 49 views
6

當您從Google Docs進行打印時(使用「打印」鏈接,而不是文件/打印),最終打印出格式正確的PDF文件,而不是依賴瀏覽器的打印引擎。 Google Analytics中的部分報告也是如此。 。 。 PDF格式的打印報告很漂亮。他們如何做到這一點?我無法想象他們會使用Adobe Acrobat之類的軟件來實現它,但也許他們會這麼做。我已經看到一些昂貴的HTML到PDF轉換器不時在線,但從來沒有厭倦它。有什麼想法嗎?Google如何使Google Analytics中的這些可怕的PDF報告以及您打印Google Doc等文件時如何?

回答

13

如果您正在專門查看Google如何執行此操作。如果你看PDF Properties頁面,他們使用王子6.0(見princexml.com

有很多其他的PDF生成器。 對於棘手的工作我取得了巨大的成功。

alt text

-3

渲染PDF是艱苦的,複雜的問題。但是生成它們不是。簡單地組成一些實體並生成。它與爲網頁生成HTML與顯示(呈現)網頁相同的問題域。

-1

嗯,我懷疑它和生成HTML一樣容易。 。 。我的意思是,首先,PDF不是一種人類可讀的格式,它不是純文本(如SVG)。實際上,我會將SVG文件與PDF文件進行比較,因爲您可以精確控制打印頁面上的佈局。但SVG不同之處在於它是XML(也因爲它在瀏覽器中完全不受支持......還在研究SVG)。想想看,SVG應該可能成爲我的下一個問題。

我知道谷歌沒有使用.NET,我懷疑他們使用Java,所以必須有一些其他庫用於生成PDF文件。更重要的是,他們如何創建PDF而不必將所有內容都重寫爲PDF而不是HTML?我的意思是,當他們生成HTML視圖而不是PDF視圖時,必須有一些共享代碼。想想看,也許PDF視圖和HTML視圖是完全分離的,它們只有兩個視圖,因此MVC開發風格似乎是要走的路。

1

我已經成功與pd4ml。它有一個標籤庫,這樣你就可以通過

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

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

大自由選擇將任何現有的HTML轉換成PDF,以PrinceXML:wkhtmltopdf。有各種各樣的語言包裝庫很多 - 但我只使用Ruby的。但是它的產品與PrinceXML恕我直言相同。

相關問題