我有一個PDF模板(使用Adobe Livecycle designer設計),它有一個子窗體和一個文本框。這兩個對象的屬性設置爲float
。這些對象的高度設置爲Autofit
。所有這些對象的父母高度都被設置爲AutoFit
。如何根據文本內容顯示浮動文本字段?
我的意圖是根據我們輸入文本字段的文本內容來增加文本字段的高度。
當我從Adobe設計人員預覽模板時,生成的預覽PDF將文本字段顯示爲浮動(基於我輸入的測試數據)。
對於我們的應用目的,我們使用iText。
基本上,我們加載這些預定義的模板,並使用iText API將數據填入這些字段。
的iText的當前版本中,我們使用的是iText的5.1.3
...
Document document = new Document();
document.open();
PdfReader reader = new PdfReader(<inputTemplate>);
ByteArrayOutputStream aStream2 = new ByteArrayOutputStream();
PdfStamper stamper2 = new PdfStamper(reader, aStream2);
AcroFields form = stamper2.getAcroFields();
form.setField("<fieldname>", "<fieldvalue>");
...
等。
這樣生成的PDF只顯示符合文本框大小的文本,基本上忽略溢出。
希望我已經給出了我遇到的問題的足夠的描述。我想動態地嵌入內容並使PDF的其餘部分可浮動。我想知道如何使用iText達到這個目標?
非常感謝您的回覆。我的要求是一個30頁的文檔,其中大部分是靜態文本,其中包含數據元素(如checkfields,$ amount字段等)。因此我們一直使用AcroFields.setField(...)方法。在某些地方,我需要嵌入(內聯)動態數據(如NOTES)(如果可用)。傳統上,我們將這些筆記作爲展品附加到文檔的末尾,但是我正在探索是否可以嵌入內嵌,仍然保留靜態文本的其餘部分。感謝您對我如何實現這一目標的想法?我還需要爲頁碼/ totalPages添加郵票。 – user1646972
爲什麼不在註釋中使用註釋? (如果您要將紙幣打印在紙上,這可能不是一個選項。) –
對不起,我應該更具體。NOTES的意思是我從數據庫中獲取的一些文本,並將其呈現爲PDF上的特定部分。現在,這些數據可能存在,可能不存在,並且可能有任何長度。所以提交的PDF應該有標題的部分,並應顯示文本(如果存在),否則繼續下一節。我正在使用一種替代方法,將整個30頁文檔分成多個模板。這使我可以動態生成包含這些文本字段佔位符的整個頁面。並將合併此頁與其餘。 – user1646972