Преобразуйте содержимое экрана в формат документа, а затем позвольте пользователю загрузить этот документ на телефон.

Я работаю над приложением, в котором пользователю разрешено заполнять форму только один раз, а в следующий раз, когда пользователь просматривает эту форму, она должна быть в формате документа и может быть загружена на свой телефон.

Я понятия не имею по этой ссылке, возможно ли это или нет. И если это возможно, то как это можно сделать. Пожалуйста, предложите мне вариант или предоставьте несколько полезных ссылок с кодом.

Я искал, но не нашел ничего полезного.

Я использовал код из следующих вопросов

Загрузить и показать миниатюру

Загрузка файла по нажатию кнопки?

Как загрузить файл PDF на Android?

Но момент, в котором я отстаю, заключается в том, что у меня нет способа преобразовать весь экран в doc/pdf.


person Shruti    schedule 24.03.2012    source источник


Ответы (2)


Подобные вопросы были и в StackOverflow. Это должно помочь:

Создать файл PDF/Word (Doc) в приложении

Это тоже: Android - создание документа Word

person Sahand Seifi    schedule 24.03.2012

Проверьте этот код, чтобы сохранить свой экран как изображение.

private void saveImages() {
    View v = findViewById(R.id.view_images);
    v.setDrawingCacheEnabled(true);

    // this is the important code :)
    // Without it the view will have a dimension of 0,0 and the bitmap will
    // be null
    v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
            MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
    v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());

    v.buildDrawingCache(true);
    Bitmap b = Bitmap.createBitmap(v.getDrawingCache());
    v.setDrawingCacheEnabled(false); // clear drawing cache

    SimpleDateFormat dateFormat = new SimpleDateFormat(
            "yyyyMMddHHmmss");
    Date date = new Date();
    String name ="data"+"-"+dateFormat.format(date) + ".png";
    // String imageName = "TEST" + (String) name;

    File folder = new File(Environment.getExternalStorageDirectory()
            + "/.TEST");
    // boolean success = false;
    if (!folder.exists()) {
        folder.mkdir();
    }

    File file = new File(folder + "/TEST" + name);
    try {
        file.createNewFile();
        FileOutputStream ostream = new FileOutputStream(file);
        b.compress(CompressFormat.PNG, 100, ostream);
        ostream.close();
        Log.d("Done", "Yes");
        Toast.makeText(getApplicationContext(),
                "Images" + name + "save in Sd card", Toast.LENGTH_SHORT)
                .show();
    } catch (Exception e) {
        e.printStackTrace();
        Log.d("Done", "No");
        Toast.makeText(getApplicationContext(),
                "Images in Sd card", Toast.LENGTH_SHORT).show();
    }
    finish();

}
person Mitesh Jain    schedule 27.03.2012