2015-10-20 110 views
1

我正在使用itextsharp生成pdf ...即時通訊問題是我的內容/文本頁腳...我想自動分解內容到新頁面...如果它出現在頁腳上..爲什麼我的內容與我的頁腳重疊?

現在即時通訊使用document.newpage()

,但我想自動做到這一點,我的頁面/內容自動分解爲新page..it不該來頁眉/頁的頁腳...

爲我通過這個類創建頁眉/頁腳的信息

public class ITextEvents : PdfPageEventHelper 

我用這個功能

public override void OnEndPage 

我M還連接,即時通訊,現在得到的結果...... 請幫助我在此......如果你在留言問我就可以分享更多的信息

enter image description here

我想這最後一個框自動進入新的頁面.....

+0

爲什麼用HTML和CSS標記? – krillgar

回答

1

假設你正在使用document.add()加入流動的內容,你哈以確保您定義足夠大的底部邊距以容納頁腳。

你不同意你在OnEndPage方法有代碼,但假設你有這樣的:

canvas.MoveTo(36, 50); 
canvas.LineTo(559, 50); 
canvas.Strike(); 

這吸引了來自x = 36x = 559線在y = 50

假設您已經創建了Document這樣的:

Document document = new Document(); 

在這種情況下,要創建一個使用的36個用戶單位在A4幅面(595 X 842用戶單位)的網頁和利潤的文檔。由於底部邊距只有36個用戶單位,因此您的內容可能會與底部以50個用戶單位繪製的線條重疊。

你應該改變在您創建Document類似的行:

Document document = new Document(PageSize.A4, 36, 36, 36, 55); 

現在你有55個用戶單位底邊距,你在50個用戶單位不再重疊劃清界線。

注:我用這個詞用戶單位,因爲這就是我們如何在PDF定義測量。默認情況下,1個用戶單位等於1個點。默認的邊距是36個用戶單位或半英寸。

+0

你的建議是好的,但在我的PDF格式有一個封面從左到右覆蓋PDF的全部寬度,所以如果我在文檔中應用保證金,它會自動添加到封面也......我不想在封面上應用頁面....任何其他方法來做到這一點...... –

+0

然後(1)將左邊界和右邊界定義爲0,或者(2)爲封頁定義不同的頁邊距。 (不要創建一個不是問題的問題。) –