问题描述
当我打印使用iText制作的pdf时,分辨率太低。 我尝试通过设置compress来提高质量: pdfWritter.compressionLevel = 0,但不走运。 我正在寻找要打印的pdf更好的质量。实际上只有它有字母,并且不会改变。
CreatePDF.kt
org.eclipse.birt.runtime
ViewPDFActivity.kt
val folder = File(context.externalCacheDir?.absolutePath.toString())
if (!folder.exists()) folder.mkdirs()
pdfFile = File(folder,"$fileName.pdf")
document = Document(PageSize.LETTER,0F,0F)
pdfWritter.compressionLevel = 0
pdfWritter = PdfWriter.getInstance(document,FileOutputStream(pdfFile))
document.open()
document.add(Paragraph("Dra. Mariana Castro",DefaultFont)
document.close()
val intent = Intent(context,ViewPDFActivity::class.java)
intent.putExtra("path",pdfFile.absolutePath)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(intent)
activity_view_pdf.xml
class ViewPDFActivity : AppCompatActivity() {
private lateinit var file:File
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_view_pdf)
val bundle: Bundle? = intent.extras
if(bundle != null){
file = File(bundle.getString("path",""))
}
pdfViewAct.fromFile(file)
.enableSwipe(true)
.swipeHorizontal(false)
.enableDoubletap(true)
.enableAntialiasing(true)
.load()
printPDF.setOnClickListener {
val v: View = pdfViewAct
val bmp =
Bitmap.createBitmap(v.getWidth(),v.getHeight(),Bitmap.Config.ARGB_8888)
val c = Canvas(bmp)
v.draw(c)
val photoPrinter = PrintHelper(this)
photoPrinter.scaleMode = PrintHelper.SCALE_MODE_FIT
if (bundle != null) {
bundle.getString("path")?.let { it1 -> photoPrinter.printBitmap(it1,bmp) }
}
}
backButton.setOnClickListener {
finish()
}
}
创建的pdf文件是这样的:PDF Result。即使使用pageSize.A0增加页面大小,质量也很差。
解决此问题的一些想法?我已经尝试了一切。预先感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)