如何打印 tableLayout 内容

How do I print a tableLayout content

我有一个应用程序可以从数据库生成报告并将其显示在 table 布局中,问题是我不知道如何打印 table 内容的硬拷贝。最好打印成 PDF ... 谢谢(Java 不是 Kotlin)

一种作弊方法是将布局绘制到一个单独的 canvas 中,该布局与使用环绕内容进行布局时需要的大小一样大,并且对大小没有限制。

请参阅答案 ,了解如何使用 tableLayout 执行此操作。

然后通过

打印支持canvas的位图作为图片

// Draw to bitmap stuff in other answer ... then

PrintHelper photoPrinter = new PrintHelper(this);
        photoPrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
        photoPrinter.setOrientation(PrintHelper.ORIENTATION_LANDSCAPE);
        photoPrinter.printBitmap("Print Jobname", bitmap);

然后您可以 select 真正的打印机或 GUI 中内置的“打印为 PDF”

请注意,对于大型表格,这可能会非常耗费内存,而且它只会打印一页宽和多页长。