2011-05-11 103 views
0

hi everyone 我在使用itext(Java)生成的pdf文件中有一個標題文本(ARTIST Biography(Continue))。其中'ARTIST'和'(Continue)'分別是靜態文本「Biography」是一個動態文本,它將根據從xml獲取的內容而變化。我的問題是,動態文本長度過長時,它會覆蓋'(continue)'文本。如何設置動態相對於最近的靜態文本「(繼續)」文本長度。請回復 在此先感謝使用itext生成pdf的文本重疊問題

我用於顯示標題文本代碼編寫波紋管

PdfContentByte cb = writer.getDirectContent(); 
     BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); 
     cb.setFontAndSize(bf, 18); 
     cb.beginText(); 
     cb.setColorFill(Color.BLACK); 
     cb.showTextAligned(PdfContentByte.ALIGN_LEFT,"ARTIST", document.left(), document.top() + 20 , 0); 
     cb.resetRGBColorFill(); 
     cb.endText(); 
     cb.beginText(); 
     cb.setColorFill(Color.RED); 
     cb.showTextAligned(PdfContentByte.ALIGN_LEFT, strBiography, document.left() + 70, document.top() + 20, 0); 
     cb.resetRGBColorFill(); 
     cb.endText(); 
     cb.beginText(); 
     cb.setColorFill(Color.BLACK); 
     cb.showTextAligned(PdfContentByte.ALIGN_LEFT,"(Continue)", document.left()+90, document.top() + 20 , 0); 
     cb.resetRGBColorFill(); 
     cb.endText(); 
     cb.stroke(); 
0123(藝術家生平(繼續))
+0

請提供你正在做什麼的代碼示例。在能夠回答您的問題之前,我們需要更多的背景。 (而這樣做,你可以編輯你的問題佈局,以更可讀的東西?) – Redlab 2011-05-11 11:47:45

+0

_如何設置單元格寬度佔用動態文本_你是在談論單元格在pdfdfable?或... – Redlab 2011-05-11 14:50:31

+0

請查看你所問的編輯過的問題和代碼 – Psl 2011-05-12 03:39:21

回答

0

您可以使用strBiography的正確字體和內容創建Chunk,並且在Chunk調用getWidthPoint到現在它的大小以點爲單位,當添加到文檔時您將擁有關於strBiography的長度,並且可以計算「 (繼續)「