gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:57:17 26 4
gpt4 key购买 nike

我是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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com