android - 在Kotlin中使用itext5将表添加到现有PDF

标签 android kotlin itext

我是Java / kotlin编程的新手,这是我的第一个项目。
我有一个现有的pdf,使用itext在另一个 Activity (activity1)中创建,并以“pdfPath”的意图传递给另一个 Activity (activity2)。
我想打开该pdf文件,并在该pdf文件的末尾附加一个表格,其中包含在activity2中获取的数据。
但是每次我尝试时,我的程序都会消除该pdf上的所有内容,而仅使用该表创建另一个pdf。
这是代码:

            val pdfPath = intent.getStringExtra("pdfPath")
            val mDoc = Document()
            var writer = PdfWriter.getInstance(mDoc, FileOutputStream(pdfPath))
            mDoc.open()

            var table = PdfPTable(2)
            var imgTec = Image.getInstance(StoredPath)
            var cell = PdfPCell(imgTec)
            table.addCell(cell)

            cell = PdfPCell(Phrase("Signature"))
            cell.setBorder(Rectangle.NO_BORDER);
            table.addCell(cell)
            mDoc.add(table)
            mDoc.close()

最佳答案

终于做到了:

val pdfPath = intent.getStringExtra("pdfPath")
val reader = com.itextpdf.text.pdf.PdfReader(pdfPath)
val pdfName_write = "TEST_" + SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date()) + ".pdf"
val pdfPath_write = Environment.getExternalStorageDirectory().toString() + "/" + pdfName_write
val stamper = PdfStamper(reader, FileOutputStream(pdfPath_write))
val column = ColumnText(stamper.getUnderContent(1))

//Adjust the position of the rectangle
val rectPage = Rectangle(36F,36F,30F, 20F)

column.setSimpleColumn(rectPage)
var table = PdfPTable(2)

//Creating cell 1
var cell = PdfPCell(Phrase("TEST1"))
table.addCell(cell)
column.addElement(table)

//Creating cell 2
cell = PdfPCell(Phrase("TEST2"))
table.addCell(cell)
column.addElement(table)
column.go()

stamper.setFormFlattening(true)
stamper.close()
reader.close()

关于android - 在Kotlin中使用itext5将表添加到现有PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982526/

相关文章:

java - iText 和阿拉伯语 pdf 偶尔会丢失字符

split - ItextSHARP 表拆分问题

java - 在 ArrayAdapter 内启动 fragment

mongodb - readStartDocument 只能在 CurrentBSONType 为 DOCUMENT 时调用

java - 即使 onDestroy 被触发,我的服务也不会停止

c# - iTextSharp System.NullReferenceException

android - Surfaceview 闪烁

android - ASE 是否成熟到可以开始开发 Android 应用程序?

java - RxJava 将一个列表转换为另一个列表时遇到问题

android - 使用 Kotlin 在 Android 中 startActivity 后没有任何反应