2010-08-09 45 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(图层)的一部分。但是,他们可以编写脚本来表现自己的行为。

相关问题