how do acheive this tree like view in the itext library. below is the sample image, anyone have any idea to write tree like view in pdf.
tried this, but not working
private fun createPdf() {
val filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)
val file = File(filePath, “filesystem_tree_itext7.pdf”)
val outputStream = FileOutputStream(file)
val writer = PdfWriter(outputStream)
val pdf = PdfDocument(writer)
val document = Document(pdf, PageSize.A4)
try {
val rootDirectory = Environment.getExternalStorageDirectory()
document.add(Paragraph(rootDirectory.path))
addDirectory(document, rootDirectory)
} catch (e: Exception) {
e.printStackTrace()
} finally {
document.close()
outputStream.close()
}
}
private fun addDirectory(document: Document, dir: File, indentation: Int = 1) {
val files = dir.listFiles() ?: return
for (file in files) {
if (file.isDirectory) {
val paragraph = Paragraph()
for (i in 1..indentation) {
paragraph.addTabStops(TabStop(20f * i, TabAlignment.LEFT))
}
paragraph.add(Tab())
paragraph.add(file.name)
paragraph.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA))
document.add(paragraph)
addDirectory(document, file, indentation + 1)
} else {
val fileParagraph = Paragraph()
for (i in 1..indentation) {
fileParagraph.addTabStops(TabStop(20f * i, TabAlignment.LEFT))
}
fileParagraph.add(Tab())
fileParagraph.add(file.name)
fileParagraph.setFont(PdfFontFactory.createFont(FontConstants.COURIER))
document.add(fileParagraph)
}
}
}