2012-10-12 293 views
6

我正在使用PHP,Mysql,jQuery。我有一個網頁將被轉換成高分辨率的A4尺寸PDF:http://optisolbusiness.com/funeral_site/sample/index/id/255按比例縮放HTML以完全符合PDF A4尺寸

我已經使用wkhtmltopdf將HTML轉換爲PDF,效果很好。

這是生成的PDF http://optisolbusiness.com/Guru/Gurupdf/optisol.pdf。但HTML並不適合PDF大小; PDF中的HTML周圍有空格。如何縮放HTML以適應A4 PDF大小100%?重要的是,html(即)文本大小,圖像寬度和高度,背景圖像內的內容也可以按比例縮放。

+0

這個問題應該說明它是我請求的[這個問題](http://stackoverflow.com/q/12834641/472495)的後續。這將爲受訪者提供有用的背景信息。 – halfer

+0

頁面不是foune :( – shareef

回答

7

您的背景圖片不完全是高分辨率,在打印時看起來不太好。

我不知道wkhtmltopdf本身,但你的身體已經有絕對尺寸設置(英寸)。這可能是問題所在。您的身體擁有最大尺寸,內容也具有絕對尺寸(由於背景圖像像素尺寸)。

這不是html-to-print轉換的好起點,PDF基本上是打印的。

做什麼(中間)

  • 從清除體內的任何大小限制
  • wkhtml ...有一個開關叫做zoom1.5應該是一個適當的值填充頁面
  • 使用頁面大小a4

做什麼(「正確」的方式)

  • 從身體
  • 構建刪除大小限制的背景邊界(黑色的)與HTML元素和CSS樣式從定義爲那些「寬度」規則
    • 副歌。您只需定義一次「寬度」,其他所有寬度都應設置爲「自動」。
    • 高度將證明麻煩,因爲divs只有它們的內容要求。但是設置高度:100%不尊重邊框和邊距尺寸。
  • 是黃色的交叉能夠在CSS設計過,或者更高的分辨率PNG/JPEG
  • 僅使用「真實」的尺寸。這意味着而不是使用像素,使用點數,英寸或毫米。你可以使用%值,但要確保它們是實際尺寸的百分比值(這意味着某個父元素有實際尺寸)
+0

看看PDF/X-3 http://www.prepressure.com/pdf/basics/pdfx-3 –

+0

我沒有看到連接,你能否詳細說明一下嗎? – dualed

+2

非常感謝wkhtmltopdf縮放選項工作的很棒。我很多time.Works真棒,偉大,完美,被愚弄你是偉大的。很多謝謝 – PHPDev

0

您可以將主體的大小設置爲頁面的大小。對於A4爲210x297mm的情況。

順便說一句:你應該只使用百分比寬度,否則wkhtmltopdf將不得不嘗試並將其轉換。

因此,如果您想要填滿所有房間,請確保您使用width: 100%;。 ;)

順便說一句:如果你想要真正高質量的PDF文件,你需要創建它們,至少符合PDF/X-3 standard。我不認爲wkhtmltopdf這樣做。

+0

哪裏設置寬度爲100%? – PHPDev

+0

我已經解釋過了。 –

+0

你的意思是在html body標籤中設置寬度爲100%,對嗎? – PHPDev

2

我想說你總是要努力得到這個是完美的。在我看來,你最好直接寫PDF而不是依靠第三方工具。

考慮查看FPDF,這是一個開源的PHP PDF書寫庫。被警告,該網站看起來過時了,但功能運作良好。

+0

任何你要求「準確地」並生成PDF的地方,你都應該看看像FPDF這樣的庫。我以前用過它。它需要一點時間適應,最終的代碼就像所有地獄一樣醜陋,但你可以基本上生產任何你想要的,像素像素。 –