2013-07-29 107 views
0

我是iText圖書館的新手。我的要求是我的Servlet將創建一個標記表(PDF)。它會將圖像添加到文檔的完整頁面和文檔圖像上特定位置的文本。添加背景圖片並在圖片上添加文字

請幫忙?

+0

本書[iText in Action - 第2版](http://itextpdf.com/book/)對於任何使用iText的人來說都是一個很好的資源。您還可以在該網站的書中找到所有樣本的來源。此外,您還可以在[發佈商網站](http://www.manning.com/lowagie2/)上找到2個重要的示例章節免費下載。 – mkl

+0

這是我的功能 'private static void addContent(PdfContentByte canvas,PdfContentByte text,Document document){img = Image.getInstance(「07.png」); img.scaleToFit(PageSize.A4.height(),PageSize.A4.width()); img.setAbsolutePosition(1,1); canvas.addImage(img); canvas.saveState(); canvas.setCMYKColorFill(0x00,0x00,0x00,0x80); BaseFont.BaseFont.createFont(BaseFont.HELVETICA,\t BaseFont.WINANSI,BaseFont.EMBEDDED); text.beginText(); text.setFontAndSize(bf,18); text.lineTo(1,1); text.showText(「This is Test」); text.endText(); document.add(img);}' – Amar

+0

圖像已加載,但我無法在特定位置設置文本 – Amar

回答

0

目前還不清楚參數text是關於什麼。也許你選擇了圖片下的直接內容,但這不是主要問題。

你一定看過一些文檔,因爲您使用beginText()setFontAndSize()showText()endText(),但你沒看過的文檔非常好,因爲:

(1)使用lineTo()沒有moveTo()第一之後沒有stroke()。換句話說:你正在創建一個從未畫出的奇怪路徑。

(2)您使用showText(),但我沒有看到您爲任何地方的文本定義座標。你的setTextMatrix()方法發生了什麼?

(3)你是一個新手,但不是用簡單的代碼,如:

ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, 
    new Phrase("This is a test"), 100, 100, 0); 

好像你要能夠運行你學會走路之前。

另外:您可能使用舊版本的iText,因爲您沒有提到在文本塊中使用非法語句lineTo()時引發異常。您不能在beginText()/endText()序列中使用lineTo()

請按照mkl給出的建議,先閱讀文檔。