我尝试填写pdf表格。我可以通过PDFView打开并加载pdf文件,但如何填写pdf表单?
我尝试这样做:
File file = new File("/storage/emulated/0/test/ankieta.pdf");
PDFView pdfView = (PDFView) findViewById(R.id.pdfView);
if (file.exists()) {
pdfView.fromFile(file)
.enableSwipe(true) // allows to block changing pages using swipe
.swipeHorizontal(false)
.enableDoubletap(true)
.password(null)
.scrollHandle(null)
.enableAntialiasing(true) // improve rendering a little bit on low-res screens
.spacing(0)
.autoSpacing(false) // add dynamic spacing to fit each page on its own on the screen
.pageSnap(true) // snap pages to screen boundaries
.pageFling(false) // make a fling change only a single page like ViewPager
.nightMode(false)
.onTap(new OnTapListener() {
@Override
public boolean onTap(MotionEvent e) {
return false;
}
})
.load();
}
答案 0 :(得分:0)
首先将您的pdf更改为可编辑的pdf。
使用此网站:-https://www.jotform.com/fillable-pdf-form-creator/
在此站点中生成一个字段ID并将其保存在任何位置,因为使用此ID可以填写pdf的固定位置的pdf,并将生成的pdf保存在res->raw->yourpdf
现在编写此代码
reader = new PdfReader(current.getResources().openRawResource(R.raw.form));
并使用此代码可以添加pdf
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(file, false));
AcroFields acroFields = stamper.getAcroFields();
acroFields.setField("name", "Hardik Talaviya");
acroFields.setField("enroll", "150040116022");
acroFields.setField("branch", "IT");
acroFields.setField("sem", "8");
stamper.setFormFlattening(true);
stamper.close();
这里的名称,注册,分支和学分是我的 pdf ID ,当您创建可编辑的pdf时可以生成。
最后将这个pdf文件保存在您的存储器中,填充并在您要打开的位置打开它。
希望这对您有帮助!
谢谢。
答案 1 :(得分:0)
另一种可以帮助您填写 PDF 的服务。
www useanvil.com/developers
他们有用于填写、生成和签署 PDF 的 API。文档看起来很不错,并且有一个预先编写的节点客户端。