如何将图像转换利用iText到PDF(How to convert images to pdf us

2019-09-02 05:22发布

任何人都可以请告诉我如何使用iText的API在Android的转换拍摄的图像,其已经在画廊并保存为PDF文档。 帮助尽快必要的。 主要目标是创建Android应用程序,从而能够从库中获得多个图像,并将其保存为PDF格式。

Answer 1:

要想从图库中的图片日子会把必须启动startActivityForResult和onActivityResultü可以存储在PDF文件中的图像: -

首先调用库意向为: -

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE);

然后,在onActivityResult得到位图,它在PDF写

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);


        if (resultCode == RESULT_OK) {  


        switch(requestCode){    

             case SELECT_PICTURE:
                  Uri selectedImageUri = data.getData();
                  String[] filePathColumn = { MediaStore.Images.Media.DATA };
                  Cursor cursor = getContentResolver().query(selectedImageUri,filePathColumn, null, null, null);
                  cursor.moveToFirst();
                  int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                  String picturePath = cursor.getString(columnIndex);
                  cursor.close();
                  Bitmap bmp = BitmapFactory.decodeFile(picturePath);
                  ByteArrayOutputStream stream = new ByteArrayOutputStream();
                  bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);

              Document document = new Document();
              File f=new File(Environment.getExternalStorageDirectory(), "SimpleImages.pdf");
              PdfWriter.getInstance(document,new FileOutputStream(f));
              document.open();
              document.add(new Paragraph("Simple Image"));

              Image image = Image.getInstance(stream.toByteArray());
              document.add(image);
              document.close();
              break;
            }  
          }  

    }

希望这可以帮助..



Answer 2:

因为我不能上bakriOnFire的回答进行评论,我必须写一个答案的话题。

谢谢你的解决方案。 bttw这是什么线代码做b.compress的(Bitmap.CompressFormat.PNG,100,流); 什么为b? - 柴5月8 '13 11时20分

代码的林乐应该是:

bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);

位图得到使用PNG编码压缩并写入到一个ByteArrayOutputStream。 因为Image.getInstance这是必需的()只可以处理的ByteArray。



文章来源: How to convert images to pdf using iText