如何解决应用程序在创建 pdf 并在 itextpdf 中添加图像时暂停一段时间:itext7
我正在创建一个应用程序来制作 pdf 并使用存储访问框架将文本和位图图像写入其中。
位图图像是从使用 MPAndroidChart 生成的图表中捕获的,该图表放置在 framelayout 中。仅添加文本时,该过程很快。但是当我添加位图图像时,活动屏幕会变黑并且在大约 10 秒内没有响应。
在 pdf 中,我在起始页中添加了图像。即使有足够的空间,图表也会出现在下一页。
如何在没有分页符的情况下将图表添加到页面并删除无响应的屏幕?
sed -e '/registry1/i\
"registry0.com:5000",' daemon.json
创建pdf的类如下:
var newpdfhandle = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){
resultData: ActivityResult ->
val uri = resultData.data?.data
if (resultData.resultCode == Activity.RESULT_OK){
if (uri != null){
var bitmap = getBitmapFromView(fragFrame) // fragFrame = framelayout containing chart
if (bitmap != null) {
CreateNewPdf.newPdf(this,uri,framelist,bitmap)
}
}
}
}
private fun getBitmapFromView(view: View): Bitmap{
var bitmap = Bitmap.createBitmap(view.width,view.height,Bitmap.Config.ARGB_8888)
var canvas = Canvas(bitmap)
view.draw(canvas)
return bitmap
}
解决方法
我实现了 Runnable 接口并在其中调用了 pdf 创建函数。我的实现如下:
var newpdfhandle = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){
resultData: ActivityResult ->
val uri = resultData.data?.data
if (resultData.resultCode == Activity.RESULT_OK){
if (uri != null){
var bitmap = getBitmapFromView(fragFrame) // fragFrame = framelayout containing chart
if (bitmap != null) {
val myRunnable = Runnable {
Handler(Looper.getMainLooper()).post {
pdfProgressbar.visibility = View.VISIBLE
}
CreateNewPdf.newPdf(this,uri,framelist,bitmap)
Handler(Looper.getMainLooper()).post {
pdfProgressbar.visibility = View.GONE
}
}
val thread = Thread(myRunnable).start()
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。