2009-12-10 145 views
0

可能重複:
Convert HTML + CSS to PDF with PHP?HTML到PDF高分辨率

我想一個網頁轉換爲適合打印高分辨率PDF。我怎樣才能做到這一點?

+0

您使用哪種語言?您使用什麼操作系統?你知道像CutePDF這樣的PDF打印機嗎? – 2009-12-10 04:00:07

+0

嗨,PHP是語言。我使用的操作系統是Windows Vista。我會嘗試可愛的PDF。謝謝 – spotlightsnap 2009-12-10 04:04:52

+0

網頁是否利用它運行的任何腳本來構建內容?如果是的話,你很可能SOL – 2009-12-10 06:52:50

回答

1

如果你想在代碼中做到這一點,看看HTML2PDF或FPDF,他們是PHP庫,旨在創建代​​碼的PDF文檔。

如果您使用PHP的輸出緩衝功能 結合HTML2PDF即

<?php 
    ob_start(); 
?> 
    // put all your html in here 
<?php 
    $data = ob_get_contents(); 
    require('html2pdf.php'); 
    $pdf = new HTML2FPDF(); 
    $pdf->AddPage(); 
    $pdf->WriteHTML($data); 
    $pdf->Output(); 
?> 

顯然,這是一個非常粗略的例子,但我已經使用了PHP中之前生成的PDF文件。它確實有一些樣式表問題,似乎忽略了其中的大部分。但是通過自己使用FPDF並手動構建文檔可以獲得更多的控制權。

1

如果你想使用瀏覽器轉換網頁,你可以使用像cutepdf,dopdf等窗口軟件 但如果你想通過PHP代碼(在飛行中)將網頁轉換爲pdf,有幾個如何轉換:

  1. 使用庫提供的,你可以試試html2pdf(php)。 在java/.net中可以使用類似pd4ml的庫(即使它不是免費的)。

  2. 您可以使用開放式辦公轉換器。它可以打開多個文檔類型,並轉換成pdf。開放式辦公室提供的API(我曾嘗試在Java中,而不是PHP)。流程與您打開文檔相同,然後轉換爲pdf,但您只需在編碼中進行。必須有開放式辦公服務器守護程序通過您的代碼來收聽轉換器。看到這裏http://oodaemon.sourceforge.net/

如果你想在PHP快速的解決方案,也許你可以使用HTML2PDF。

您使用開放式辦公轉換器的優點是輸出將與您在瀏覽器中看到的相同(我已經測試過它使用oodaemon)。如果使用庫,我不確定100%,如果您在瀏覽器中打開它,它將會是相同的,因爲佈局取決於CSS。 pd4ml生成PDF格式的基於HTML和CSS的佈局(它擁有CSS解析器,我認爲)

+0

嗨jeft,我想轉換使用的軟件,目前我試過硝基pdf試用版,但當我轉換的HTML,它不包括任何圖像從該HTML。和cutepdf,我想轉換HTML,但我不知道如何?任何好的測試軟件?我想要打印高分辨率的pdf文件。這就是爲什麼。 – spotlightsnap 2009-12-10 07:22:15

+0

當然,你可以測試doPDF(免費),或pdfFactoryPro(不免費) pdf Factory Pro可以將任何文件(只要你可以打印它)轉換爲pdf。打開html/word/anything,然後點擊print,然後選擇pdf factory pro。 如果你想要良好的圖像分辨率,選擇PDF工廠專業屬性 - 圖形選項卡。取消選中下采樣圖像並取消選中使用jpg壓縮。 它適合我。 – Jef 2009-12-10 08:03:33

+0

@Jef:我有興趣使PDF與瀏覽器中的相同(具體來說:CSS2.1,圖像,鏈接)。如何通過OO(守護進程)完成它?據我所知,deamon提供了訪問OO的途徑,這意味着輸出將以OO如何呈現它。 – 2011-08-27 17:54:50

1

嘗試:「wkhtmltopdf」它只是工作很好(及其開源)。它採用的WebKit 發動機(通過Safari瀏覽器使用的Chrome瀏覽器),它是非常容易使用:

wkhtmltopdf stackoverflow.com/questions/1878512/ output.pdf 

試試吧!對於Linux和Windows也是如此。易於安裝。如果您使用的是Ubuntu,請鍵入:

aptitude install wkhtmltopdf