[英]calculate html page breaks (html 2 pdf) server side for precise print layout with headers and footers
我們打印通過html生成的pdf書籍到pdf應用程序。
每個頁面都有一個頁眉和頁腳,我們准確地使用不同語言的制作和翻譯限制(以及布局變化)來確保每個頁面的固定內容適合。
因此,例如,盡管我們的內容是動態的,但預計一個段落將為書中的相同位置獲取大約相同的空間量。 我們有時會更改翻譯的樣式和布局屬性,但適用相同大小的相同規則。
我們在每個頁面上都有一個頁眉和頁腳,並使用css換行將整本書呈現為一個長html頁面,以強制每個頁眉進入新頁面。 所以反映我們控制每頁服務器端的固定內容高度。
這很好用,我們非常滿意HTML在演示中提供的優勢(設計師而不是程序員可以設計頁面等),我們也投入大量資金用於這項技術,我們現在太過深入改變方向,所以我們無法改變我們的技術,我們正在使用html 2 pdf,我們需要盡可能做到最好。 這並不是說我們不能混合技術。 但...
問題是,我們現在有一些可變大小的內容,我們以前沒有控制權,對我們來說它是文本,所以我們可以控制它的格式,但不是它的數量。 我們也有不同大小的標題。
我們需要一種計算分頁符的方法,留下盡可能少的空白區域,我很想知道其他人是如何處理這個問題的。 我知道這不是一門精確的科學,但我仍然需要最好的方法。
我們完全控制渲染/布局引擎,它始終是ie8兼容的,因此不需要考慮不同的瀏覽器。
這些是我的想法,很想聽聽你的:
親簡單
Con不准確,我們的字體都不是等寬字體,需要為每個區域設置進行配置。
如果自由流動內容保持連續,Pro可能是准確的,而不是太昂貴。
Con Incomplete解決方案,一旦我知道所需的頁數,我怎么知道在哪里打破html? 使用這種方法測量每一頁並進行邊緣檢測將非常昂貴。
Pro一旦提取了所有數據,並且為HTML渲染的差異添加了邊距,這可能相當准確。
Con高度復雜且對樣式表更改敏感。
喜歡聽你的想法和建議。
編輯....
我們的pdf轉換器是Winnovative,它在.net Windows服務中運行,但我們的html提要是用PHP生成的。
第5.1點。 希望這個解決方案能幫到你
注意:內部鏈接不起作用,請親自手動導航到所需的點。
這個問題很古老,但我和你做的基本相同。 我發現行號計數仍然很重要,但您可以使用css樣式行高來標准化每行的大小。 (如果html是基於表格的tr的高度)。 這應該允許您每頁有一定數量的行。
你有沒有想出一個適合你的解決方案?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.