2014-11-04 33 views
1

我正在嘗試設計頁腳,但頁腳需要在每一頁上都是絕對的。是否有可能在iTextSharp中獲得底部像素

是否有抓取頁面底部的函數?之後我可以只減去幾個像素並在其中添加頁腳。

int bottom = document.GetBottom(): 
ct.SetSimpleColumn(20, 20, 0, bottom - 20); 

沿着那條線的東西?這只是僞代碼。

+0

好笑。我昨晚進入了itextsharp。你有沒有找到[this](http://kuujinbo.info/iTextInAction2Ed/)呢?不知道你在找什麼,但應該有幫助。 – RadioSpace 2014-11-04 22:29:07

+0

是的,該頁面是非常有幫助的,現在我正在創建絕對定位的頁腳。但爲了可重用性,我將其從當前文檔中刪除。 – 2014-11-04 22:52:37

回答

2

的iTextSharp的文檔提供document.Bottom返回底部x值(ATLEAST那是什麼工作對我來說)使用我實現了一個相對頁腳

PdfContentByte cb = wri.DirectContent; 
ColumnText ct = new ColumnText(cb); 
Phrase myText = new Phrase("footer data here", FontFactory.GetFont("Arial Bold", 10.0f, Font.BOLD, BaseColor.BLACK)); 
float textWidth = myText.Font.GetCalculatedBaseFont(false).GetWidthPoint("AASECT • 1444 I Street, NW • Suite 700 • Washington • DC • 20005 • (202) 449.1099 • [email protected]", 10.0f); 
ct.SetSimpleColumn((doc.Right/2) - (textWidth/2), 1, (doc.Right/2) + (textWidth/2), doc.Bottom); 

ct.AddText(myText); 
ct.Go(); 

它創建「相」

會將myText

然後計算基本字體以訪問.GetWidthPoint以測量文本的大小。通過計算文檔中心並減去一半寬度並通過增加文本寬度的一半來重複反向最右邊的座標,從而計算出最左邊的x座標。

我希望這有助於某人,我發現了很多不同的創建頁腳的「方法」,但都沒有工作,希望能滿足某些人的需求。

+0

*我發現了很多不同的創建頁腳的'方法',但它們都沒有工作* - 你是否看過itextpdf人自己的例子?特別是對於頁腳[MovieHistory2](https://svn.code.sf.net/p/itextsharp/code/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter05/MovieHistory2.cs),[MovieCountries1](https:// svn。 code.sf.net/p/itextsharp/code/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter05/MovieCountries1.cs)和[TwoPasses](https://svn.code.sf.net/p/itextsharp/code/書/ iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter06/TwoPasses.cs)。 – mkl 2014-11-05 08:09:19

+0

我確實找到了這些,但我發現的版本使用的是過時的'document.footer'。但是我沒有從itextpdf網頁得到它 – 2014-11-05 18:18:11

+0

*我確實找到了這些,但是我發現的版本使用的是'document.footer',它已經過時了。* - 所以你*沒有**找到那些* I鏈接在我的評論。 – mkl 2014-11-06 08:56:32

相關問題