如何为捕获相机编码,然后在相同的相机活动类中将其转换为pdf格式?

问题描述

| 我的代码存储到SD卡的代码如下:
public static boolean StoreByteImage(Context mContext,byte[] imageData,int quality,String expName) 
{
   File sdImageMainDirectory = new File(\"/sdcard\"); 
   FileOutputStream fileOutputStream = null;
   String nameFile;
try 
{
     BitmapFactory.Options options=new BitmapFactory.Options();
     options.inSampleSize = 5;
     Bitmap myImage = BitmapFactory.decodeByteArray(imageData,imageData.length,options);
     fileOutputStream = new FileOutputStream(sdImageMainDirectory.toString() +\"/image/*.jpg\"); 
     bufferedoutputstream bos = new bufferedoutputstream(fileOutputStream);
     myImage.compress(CompressFormat.JPEG,quality,bos);
     bos.flush();
     bos.close();
} 
    

解决方法

        您需要从这里下载iText库 http://www.itextpdf.com/ 然后按照此将图像转换为PDF在Android中将图像转换为PDF     ,        
image from camera

      //Bitmap imageBitmap = BitmapFactory.decodeFile(picturePath);

            ByteArrayOutputStream stream = new ByteArrayOutputStream();

            imageBitmap.compress(Bitmap.CompressFormat.JPEG,80,stream);
            imagebytes = stream.toByteArray();

            stream.close();
            stream = null;


            Document document = new Document();

            PdfWriter.getInstance(document,new FileOutputStream(FILEPATH));
            document.open();

            Image image = Image.getInstance(imagebytes);


            image.scaleAbsolute(imageBitmap.getWidth(),imageBitmap.getHeight());
            image.setAlignment(Image.MIDDLE |Image.ALIGN_MIDDLE);

            document.add(image);
            document.close();

            File file = new File(\"mnt/sdcard/myPdf.pdf\");
            byte[] binaryFile = new byte[(int) file.length()];
            InputStream fis = new FileInputStream(file);
            fis.read(binaryFile);
            fis.close();