Java 将Android视图转换为A4大小的PDF

Java 将Android视图转换为A4大小的PDF,java,android,pdf-generation,Java,Android,Pdf Generation,我有一个android简历构建应用程序。我想从我的视图生成A4大小的PDF。我的布局是这样的——在顶部我有一个顶部的应用程序栏,整个视图封装在抽屉中。包含用户详细信息的主要部分封装在nestedScrollView中,它包含多个LinearLayout和TextView。在下面的这个屏幕截图中,我用模拟数据填充了它,但实际上,我正在从Firebase实时数据库获取数据并将其显示在UI上 我试图理解iTextPdf解决方案和这里提出的多个类似类型的问题,但我找不到可靠的答案。请帮帮我,那会很有帮助

我有一个android简历构建应用程序。我想从我的视图生成A4大小的PDF。我的布局是这样的——在顶部我有一个顶部的应用程序栏,整个视图封装在抽屉中。包含用户详细信息的主要部分封装在nestedScrollView中,它包含多个LinearLayout和TextView。在下面的这个屏幕截图中,我用模拟数据填充了它,但实际上,我正在从Firebase实时数据库获取数据并将其显示在UI上

我试图理解iTextPdf解决方案和这里提出的多个类似类型的问题,但我找不到可靠的答案。请帮帮我,那会很有帮助的

此外,请不要给出问题不包含任何代码的原因来结束此问题。没有,因为我没有。我正试图从头开始解决这个问题。我已经尽可能多地描述了我的问题。

试试这个:

创建Web视图并在其中复制edittext的文本:

webview.loadData(youredittext.gettext().tostring, "text/html", "UTF-8");
并通过以下功能将webview转换为pdf:

private void createWebPrintJob(WebView webView) {

PrintManager printManager = (PrintManager) this
        .getSystemService(Context.PRINT_SERVICE);

PrintDocumentAdapter printAdapter =
        webView.createPrintDocumentAdapter();

String jobName = getString(R.string.app_name) + " Print Test";

if (printManager != null) {
    printManager.print(jobName, printAdapter,
            new PrintAttributes.Builder().build());
}
}

之后,用户可以选择页面大小,例如A4,有很多库可以将版面转换为PDF,但让我们选择流行的,这样我们就可以在遇到问题时找到答案

我列出的库是这样工作的:它们将布局的屏幕截图作为位图图像,并将其转换为pdf

-第一个解决方案:iTextPDF新版本

检查这个详细的教程,它也处理了一个滚动视图截图的情况

这个答案是什么

-第二种解决方案:PdfMyXML库只需按照文档中的步骤操作即可

它们可能是其他解决方案,但这些都是流行的解决方案


让我知道它是否对你有效,如果你被卡住了。谢谢大家!

这对TextView也适用吗?如果是,那么我是否必须webview.loadDatayourTextView.gettext.tostring,text/html,UTF-8;对于我版面中的每个文本视图?是的。但是你应该把所有textview的文本放在一个字符串变量中嗯,我怎么能做到呢?每个textview都包含不同的字符串,正如我在问题中提到的,我从数据库中获取数据,然后在textview中显示数据Shi Nihal,你找到解决方案了吗?