2012-04-16 95 views
5

即使將頁面大小設置爲A4,我也不確定如何解決此問題,但我認爲我的頁面大小將保持不變,並且我的內容將被包裹是否正確?如果文本太長,WkHtmlToPDF將顯示一個小小的pdf

我使用的包裝WkHtmlToXSharp創建我的PDF

enter image description here

問題:如果你進入未分割的字符串,即一個長串 - 我在都顯示上面的圖像會發生。我該如何解決?有沒有WkhtmlToPDF包裝文本的一些選項?

+0

我只是增加了一個問題非常多與此有關,但它與圖像,而不是漫長的「牢不可破」的字符串交易。我相信潛在的原因是相同的,但解決方案會有所不同。 http://stackoverflow.com/q/12456736/694325 – Nenotlep 2012-09-17 13:12:42

+0

只是看着你的問題 - 不知道該工具有多少可用的解決方法。人們已經提出了一個JavaScript修正,即計算字符並分解每一行,但我不能誠實地說出最佳解決方案。看着谷歌文檔,似乎他們分解每一行,但看着頁面的寬度和字符的寬度,然後做一些拆分 - 但我不能肯定地說。如果你發現任何東西,請告訴我。 – Haroon 2012-09-18 09:40:47

+0

你好,你能得到這個固定的?我面臨同樣的問題。謝謝。 – 2013-08-10 14:13:55

回答

0

您需要分解頁面。這很容易因爲添加此:

<div style='page-break-after:always'></div> 

舉例來說,如果你有一張長條桌,你可以做這樣的僞代碼:

if ($row > 100) { 
    echo "</table>"; 
    echo "<div style='page-break-after:always'></div>"; 
    echo "<table>"; } 
+0

我的問題更多地涉及到文本包裝而不是分頁符 – Haroon 2012-05-21 07:50:41

+0

啊,現在我明白了 - 這是一個艱難的問題 - 我的想法是閱讀字符串,如果太長,可以使用破折號其中一個字符串函數。 PHP具有「wordwrap()」功能。不知道C#tho。 – netrox 2012-05-21 15:50:37

1

如果你想要一個CSS的解決方案,你可以嘗試設置元素的寬度溢出,然後使用word-wrap: break-word;overflow:hidden;white-space: nowrap進行測試來控制問題,其中一些或組合可能適用於您。至於wkhtmltopdf解決方案將是普遍的...如果你找到任何,我也想要一個!

+0

至於手動黑客源HTML,你可以加載它到一個字符串,然後檢查是否有任何超過9000個字符的單詞,然後執行骯髒的黑客負責任 - 但這種方法似乎對我來說很噁心。即使JS解決方案可能實際上適用於該路線,如果你不想用C# – Nenotlep 2012-09-13 11:43:11