【发布时间】:2021-02-01 02:27:32
【问题描述】:
我有一个输出 textView,我成功地每新行打印一个计算。当我转换为 PDF 或打印时,我期望并打算发生同样的情况。但是,当我在 PDF 创建方法中输入字符串值并单击按钮以从 textView 生成 PDF 时,pdf 全部压缩成一个段落,而不是一个单独的列,每次计算都有新的行。
到目前为止,我已经尝试了几种不同的字符串插值方法,以及更改 setContent 方法以及更改 exportText 值的许多不同组合,但均未成功或更改...
我正在使用此依赖项来编写 PDF:https://github.com/RakeshPonna/PdfFileGenerator
我的按钮按下代码:
// Print version button
printableVersion.setOnClickListener {
val exportText = testOutput.text.toString()
val exportFilename = ""
CreatePdf(this)
.setPdfName("Coursing output")
.openPrintDialog(true)
.setContentBaseUrl(null)
.setPageSize(PrintAttributes.MediaSize.ISO_A4)
.setContent(exportText)
.setFilePath(pdfFilePath = exportFilename)
.setCallbackListener(object : CreatePdf.PdfCallbackListener {
override fun onFailure(errorMsg: String) {
makeText(this@MetricEvenGauge, errorMsg, LENGTH_SHORT).show()
}
override fun onSuccess(filePath: String) {
makeText(this@MetricEvenGauge, "Pdf Saved at: $filePath", LENGTH_SHORT).show()
}
})
.create()
}
我在应用中的 textView:
PDF/打印屏幕:
感谢任何人的意见和帮助:)
编辑:经过一些输入后,问题已演变为如何从方法中制作此换行语句:
for (index in 1..testNumber.toInt()) {
calculation += "\nTest #$index = ${index * (testLevel +
attempt)}"
使用 html,这不起作用:
// Print version button- working of PDF printing
printableVersion.setOnClickListener {
val exportText = testOutput.text.toString()
val htmlText = "<html><br>$exportText<br></html>"
val exportFilename = ""
CreatePdf(this)
.setPdfName("Coursing output")
.openPrintDialog(true)
.setContentBaseUrl(null)
.setPageSize(PrintAttributes.MediaSize.ISO_A4)
.setContent(htmlText)
.setFilePath(pdfFilePath = exportFilename)
.setCallbackListener(object :
CreatePdf.PdfCallbackListener {
override fun onFailure(errorMsg: String) {
makeText(this@MetricEvenGauge, errorMsg,
LENGTH_SHORT).show()
}
override fun onSuccess(filePath: String) {
makeText(
this@MetricEvenGauge,
"Pdf Saved at: $filePath",
LENGTH_SHORT
).show()
}
})
.create()
}
【问题讨论】: