2012-07-31 77 views
8

我有.pdf文件和多种形式在那里。 我想打开我的.pdf文件,填写表格并从Android开发中保存。Android填充PDF格式

是否有适用于Android渲染的API。 我发现iText,但我只是设法创建新的PDF格式,并且我可以填写表格。意味着我创建的.pdf文件将被填写。我需要填写我自己的表格。

在此先感谢...任何帮助将不胜感激......

回答

4

DynamicPDF Merger for Java可以让你做到这一点。您可以使用现有的PDF文档,填写表单字段值,然后输出新填充的PDF。

最近在dynamicpdf.com上发布了一篇关于在Android应用程序中为Java创建DynamicPDF并从中创建一个简单PDF的文章http://www.dynamicpdf.com/Blog/post/2012/06/15/Generating-PDFs-Dynamically-on-Android.aspx

你可以轻松地将这个例子更进一步,并用它来完成填表任务。以下(未经测试)代码是使用DynamicPDF Merger for Java在Android设备上填写现有PDF文件所需的代码示例:

InputStream inputStream = this.getAssets().open("PDFToFill.pdf"); 
long avail = inputStream.available(); 
byte[] samplePDF = new byte[(int) avail]; 
inputStream.read(samplePDF , 0, (int) avail); 
inputStream.close(); 
PdfDocument objPDF = new PdfDocument(samplePDF);  

MergeDocument document = new MergeDocument(objPDF); 
document.getForm().getFields().getFormField("FormField1").setValue("My Text"); 
document.draw("[PhysicalPath]/FilledPDF.pdf"); 
InputStream inputStream = this.getAssets().open("PDFToFill.pdf"); 
long avail = inputStream.available(); 
byte[] samplePDF = new byte[(int) avail]; 
inputStream.read(samplePDF , 0, (int) avail); 
inputStream.close(); 
PdfDocument objPDF = new PdfDocument(samplePDF);  

MergeDocument document = new MergeDocument(objPDF); 
document.getForm().getFields().getFormField("FormField1").setValue("My Text"); 
document.draw("[PhysicalPath]/FilledPDF.pdf");