Я пытаюсь создать PDF в Android с помощью iText.PDF был успешно создан, но для его создания требуется время, так как добавлены изображения.Затем я перемещаю свой код генерации PDF из потока пользовательского интерфейса в фоновый поток.После этого возникает проблема в создании PDF.Иногда некоторые страницы не загружаются или возникают проблемы с изображениями при создании PDF в фоновом режиме.
Исходный код
val document = Document(PageSize.A4, 20f, 20f, 100f, 60f)
val pdfWriter = PdfWriter.getInstance(document,FileOutputStream(outputPdfPath))
val event = HeaderFooterPageEvent();
pdfWriter.pageEvent = event;
document.isMarginMirroring = false;
document.open()
val reportBody = Paragraph()
reportBody.font = Font(
Font.FontFamily.TIMES_ROMAN,
16f,
Font.NORMAL
)
reportBody.alignment = Element.ALIGN_CENTER
document.add(getTitle("Prior Damage Check In"))
document.add(createTables(reportBody, checkIn)) //for table creation
document.add(
addImage(
"image url",
PageSize.A4.getWidth() - document.leftMargin() -
document.rightMargin(),
PageSize.A4.getHeight() - document.topMargin() - document.bottomMargin() - 200,
Element.ALIGN_CENTER
)
)
Добавить метод изображения:
private fun addImage(imagePath: String, width: Float, height: Float, alignment: Int): Image? {
val image = Image.getInstance(imagePath)
image.setAlignment(alignment)
//image1.setWidthPercentage(50f);
image.scaleToFit(width, height)
return image
}
Есть 6страницы с изображениями, как указано выше.
Пожалуйста, помогите, как решить эту проблему.