bmu*_*tro 5 android android-print-framework android-pdf-api
我打算使用内置的android pdf库.在我的应用程序中,我需要显示一个可能包含多个页面的pdf报告.用户应该能够打印这些页面.使用PrintDocumentAdapter进行打印看起来非常简单,但对我来说不清楚的是创建pdf的最佳方法是什么.我知道您可以使用View/canvas生成PdfDocument,或者在绘制线条,文本,绘画等时采用更"低级"的方法.
我看到三种可能性:
为每个页面创建一个视图.用户可以根据需要在视图之间导航并进行打印.但是我不清楚如何为每个页面/视图生成pdf.我的意思是,如果我正在查看页面/视图1,是的,我可以轻松地创建一个pdf,但其他页面呢?是的,我可以在内存中有这个,但我发现如果它们没有在屏幕上显示,它们会创建空的pdf.我不想让用户单独打印每个页面.
创建pdf文档(低级方法),集成pdf阅读器,并从那里显示/打印pdf.
为用户可以浏览的每个页面创建一个视图.调用print选项时,再次生成pdf文档(低级方法)
显然,选项1是首选方法,但我不清楚如何做到这一点.当然,我可能会遗漏一些东西,所以任何帮助将不胜感激!
...but what's unclear to me is what is the best way to create the pdf...
然而,这是相对的。这实际上是一个你发现哪个库/框架更方便使用的问题,因为它们都提供了相同的功能,但都有自己的缺点。例如,与我一起工作的人有以下这些:
甚至官方文档中都写着“你可以使用任何PDF生成库来生成PDF文档,并将其传递给Android打印框架进行打印”。
...Yes I can have this in memory, but what I've found is if they aren't actively being displayed on screen, they create empty pdfs...
当您将用户留下的视图保留在内存中时,出现空 pdf的原因是它们的 0 维,因为没有进行布局(请参阅Android: PdfDocument 生成空 pdf)。如果您尝试夸大用户尚未到达的视图,也会发生同样的情况......事实上,您对此无能为力,这就是Android工作原理。
I don't want to have the user print each page individually.
在这种情况下,我建议您提前为用户当前正在交互的每个内容视图创建pdf页面,只需确保在画布上绘制视图时视图仍然处于布局状态即可。对于当前未布置的视图,请使用“低级方法”。一旦请求打印,将输出传递pdf给Android Print Framework.
| 归档时间: |
|
| 查看次数: |
1588 次 |
| 最近记录: |