Доброго дня
Я знаю абсолютный путь до документа pdf (локальное хранилище), его нужно по клику отобразить на фрагменте, тоесть поверх работающей активити.
Желательно еще бы растянуть фрагмент по ширине максимально.
На ум приходит webview, но не думаю что это лучший вариант.
Возможно может проще открывать документы другого типа?
Критерии для типа документа:
-обычный пользователь должен уметь их составлять
-наличие картинок
Html для меня был бы отличным вариантом, но его не сверстает обычный пользователь.
Буду благодарен за любые напутствия и идеи.
Отобразить PDF документ внутри приложения на fragment
-
- Сообщения: 35
- Зарегистрирован: 22 фев 2015, 23:18
Re: Отобразить PDF документ внутри приложения на fragment
Здравствуйте. В Android 4.4 (API 19) появилась возможность программно генерировать PDF-файлы с помощью нового пакета android.graphics.pdf. Вот нашёл простой пример, как создать PDF:NightScream писал(а):Доброго дня
Я знаю абсолютный путь до документа pdf (локальное хранилище), его нужно по клику отобразить на фрагменте, тоесть поверх работающей активити.
Желательно еще бы растянуть фрагмент по ширине максимально.
На ум приходит webview, но не думаю что это лучший вариант.
Возможно может проще открывать документы другого типа?
Критерии для типа документа:
-обычный пользователь должен уметь их составлять
-наличие картинок
Html для меня был бы отличным вариантом, но его не сверстает обычный пользователь.
Буду благодарен за любые напутствия и идеи.
Код: Выделить всё
// Создаём PDF-документ в памяти
PdfDocument document = new PdfDocument();
// настройки страницы
PageInfo pageInfo = new PageInfo.Builder(400, 300, 1).create();
// Создаем страницу документа
Page page = document.startPage(pageInfo);
// источник для заполнения документа
View content = findViewById(R.id.tvBook); // TextView с каким-то текстом
content.draw(page.getCanvas());
// заканчиваем работать со страницей
document.finishPage(page);
ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
// сохраняем на внешнем накопителе
document.writeTo(new FileOutputStream(Environment.getExternalStorageDirectory().getPath() + "/pushkin886.pdf"));
document.close();
os.close();
} catch (IOException e) {
throw new RuntimeException("Error generating file", e);
}