2010-08-09 73 views
4

我有報告正在轉換爲PDF。其中一些報告缺少信息,僅僅是因爲我們沒有對其進行跟蹤。我用報告的外殼創建了另一個PDF,並在其上放置了輸入字段控件。我想知道是否有辦法將PDF文件應用到轉換後的PDF中,以便用戶可以在這些空白字段中輸入信息,而無需將其打印出來並手動輸入。我通過Adobe Acrobat Pro 9.3手動完成這項工作,將生成的PDF作爲應用於外殼PDF。我已經完成了與iTextSharp有關,但我還沒有找到任何有效的工作。iTextSharp將預先存在的PDF添加爲另一個PDF的圖層

謝謝先進!

+0

如何使用iTextSharp將文本信息「繪製」到「轉換的」PDF上,而不是嘗試將兩個PDF頁面分層到一起? – 2010-12-08 20:24:45

回答

2

1)圖層不適用於字段。 PDF圖層是頁面內容的一部分。與所有註釋一樣,表單字段在頁面上方浮動。

2)儘管如此,您可以使用Acrobat/Reader JavaScript隱藏和顯示錶單域。在「文檔」對象通常是「本」,在區域和頁面的入口點,所以表現出某一領域,它只是:

var fld = this.getField("fieldName"); 
fld.hidden = false; 

有很多不同的地方,你可以添加JS到PDF。各種現場活動,頁面事件和文檔事件。您也可以將圖層的動作設置爲某些javaScript。您可以將書籤的操作設置爲JavaScript,而不是「去那邊」操作。

請注意,這些圖層在PDF技術說中稱爲「可選內容組」(OCG)。如果你真的想創建一個層,它看起來像它會去是這樣的:

// layer implements PdfOCG 
PdfLayer layer = new PdfLayer("MyLayer", writer); 

PdfContentByte cb = getAContentByteFromSomewhere(); 

cb.beginLayer(layer); // takes PDFOCG object 

/* draw stuff to be part of that layer */ 

cb.endLayer(); 

有一些對應於「iText的行動中,第2版」的iText的網站的例子(我沒有得到報酬,作者是朋友)。 The aforementioned examples can be found here

這需要重複說明:字段不能是OCG(圖層)的一部分。但是,他們可以編寫腳本來表現自己的行爲。

相關問題