PDFView填写pdf表格

时间:2019-03-21 10:29:56

标签: java android

我尝试填写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();
    }

2 个答案:

答案 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。文档看起来很不错,并且有一个预先编写的节点客户端。