У меня есть линейный макет Android, который я хочу преобразовать в формате PDF. Много раз этот PDF-файл охватывал несколько страниц. Хотя я могу преобразовать содержимое в PDF-файл с одной страницей, вам трудно сломать PDF-файл на многостраничный. Я дал соответствующий блок кода ниже, жестко закодировал некоторые цифры для простоты. Здесь PdfDocument.PageInfo.Builder принимает 3 аргумента - ширину, высоту и номер страницы (ранее он использовался для приема нового Rect (0,0,800,100), который больше не работает в API 23). Теперь, когда я повторяю цикл for, я не уверен, как получить различный контент для многостраничного PDF-файла. Текущий фрагмент кода, приведенный ниже, генерирует одинаковый контент для каждой страницы, поскольку он основан на ширине и высоте и не основан на координатах.Android - PdfDocument - взломать LinearLayout на несколько страниц PDF
PdfDocument.PageInfo pageInfo;
int noOfPages = (int)Math.floor(content.getHeight()/1000)+1;
for (int i=1;i<=noOfPages;i++) {
pageInfo = new PdfDocument.PageInfo.Builder
(800,1000,i).create();
PdfDocument.Page page = document.startPage(pageInfo);
content.draw(page.getCanvas());
document.finishPage(page);
}
Большое спасибо Vasanth за ваш немедленный ответ. Я ломаю голову на этот вопрос, но пока я тоже думаю о том же, что и ваш подход. Еще раз спасибо, оцените вашу помощь. –
Размер A4 должен быть 595 x 842 справа? –
Спасибо, код github спас мой день! – Hack06