Как конвертировать сохраненное изображение JPG в PDF для просмотра изображения в Adobe Reader в Android

Я сохранил файл jpg во внутреннем коде хранения, указанном ниже;

  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File folderPath = new File(Environment.getExternalStorageDirectory() + "/OCR");

    if (!folderPath.exists()) {
        if (folderPath.mkdir()) ; //directory is created;
    } else {
        File photo = new File(folderPath, "OCRPIC" + UUID.randomUUID().toString().substring(0, 5) + ".jpg");
        imageUri = FileProvider.getUriForFile(MainActivity.this,
                BuildConfig.APPLICATION_ID + ".provider", photo);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        startActivityForResult(intent, PHOTO_REQUEST);
    }

Теперь я хотел, чтобы изображение jpg скрывалось и показывалось в программе чтения PDF. Я попробовал некоторый код, приведенный ниже, но выдает ошибки говорит, что не поддерживается формат файла.

 private void viewPdf(File file) {
    Intent intent;
    intent = new Intent(Intent.ACTION_VIEW);


    Uri photoURI = FileProvider.getUriForFile(MyFileActivity.this, BuildConfig.APPLICATION_ID + ".provider", file);
    MyFileActivity.this.grantUriPermission("com.android.camera", photoURI,
            Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);


    intent.setDataAndType(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ?
            android.support.v4.content.FileProvider.getUriForFile(MyFileActivity.this, BuildConfig.APPLICATION_ID + ".provider", file) : Uri.fromFile(file), "application/pdf").addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    try {
        startActivity(intent);
    } catch (ActivityNotFoundException e) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("No Application Found");
        builder.setMessage("Download one from Android Market?");
        builder.setPositiveButton("Yes, Please",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Intent marketIntent = new Intent(Intent.ACTION_VIEW);
                        marketIntent.setData(Uri.parse("market://details?id=com.adobe.reader"));
                        startActivity(marketIntent);
                    }
                });
        builder.setNegativeButton("No, Thanks", null);
        builder.create().show();
    }
}

Любое предложение или образец, кроме itext libray, чтобы решить это преобразование.

0 ответов

Другие вопросы по тегам