有没有办法在Android应用程序中使用功能字段呈现Pdf表单?

时间:2017-01-30 01:22:28

标签: java android forms pdf

有没有办法在Android应用程序中使用功能字段呈现Pdf表单? 已经在我的应用程序中呈现了一个pdf文件,但我想要的是填充它,因为它是一个PDF表单,带有文本和列表选择字段,alredy使用iTextPdf库来管理字段,但仍然不知道,如何在应用程序中显示pdf表单,使用PdfRenderer我只能获得页面的打印但没有实际填充它的表单。 这是我现在的代码......

private void viewPdf(){

    // create a new renderer

     image = (ImageView) findViewById(R.id.image);
     int REQ_WIDHT =getWindowManager().getDefaultDisplay().getWidth();
     int REQ_HEIGHT =getWindowManager().getDefaultDisplay().getHeight();

     Bitmap bitmap= Bitmap.createBitmap(REQ_WIDHT, REQ_HEIGHT, Bitmap.Config.ARGB_4444);
     //File file = new File("/assets/form1_pdf.pdf");
    try {

        PdfRenderer renderer = new PdfRenderer( this.getApplicationContext().getAssets().openFd("form1_pdf.pdf").getParcelFileDescriptor());
        //Matrix m = image.getImageMatrix();
        Rect rect = new Rect(0,0,REQ_WIDHT, REQ_HEIGHT);
        renderer.openPage(0).render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
        //image.setImageMatrix(m);

        // calculate the scale - in this case = 0.4f
        float scaleWidth = ((float) REQ_HEIGHT) / REQ_WIDHT;
        float scaleHeight = ((float) REQ_WIDHT) / REQ_HEIGHT;

        Matrix matrix = new Matrix();
        matrix.postScale(scaleWidth, scaleHeight);
        matrix.postRotate(90);

        Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,REQ_WIDHT, REQ_HEIGHT, matrix, true);
        image.setImageBitmap(resizedBitmap);
        image.invalidate();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        e.getMessage();
    }


}

0 个答案:

没有答案