2010-03-07 35 views
0

伊夫想出利用iText(JAVA)的一個問題,儘管找直通的文檔小時..iText的 - 修改PDFWriter#Verticle對準手動

大多數我使用的代碼通過文檔#API跟蹤(變通過PDFWriter實例)當前的Y位置。但是,我們需要使用API​​的PdfContentByte部分將一些Java2d插入到文檔中,但這樣做似乎繞過了跟蹤垂直寫入的邏輯。所以下次我使用Document API時,它會覆蓋手動插入內容。我想通過在N個單元上手動移動光標(N是由PDFContentByte API插入的元素的高度)來模仿Document#API的行爲,這樣當我再次使用Document對象時,它的賓果光標位於正確的位置。我可以看到一個獲得遊標的方法存在;

PdfWriter#getVerticalPosition(boolean);

卻沒有一個設置?

任何想法的人?

謝謝。

回答

0

當您將段落,表格等添加到文檔時,PdfWriter返回的垂直位置將由寫入程序類自動處理。 如果您想添加自定義圖形,您必須通過保存您繪製的最後一個圖形的位置來手動處理垂直位置。 如果必須在絕對位置繪製圖形,而不考慮通過段落對象添加的文本,這很簡單。 但是,如果要將圖形的位置與高級對象(段落,pdfTable等)進行同步,則必須處理iText事件。