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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Android视图转换为A4大小的PDF相关的知识,希望对你有一定的参考价值。

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

view

我试图理解iTextPdf解决方案和此处已问过的类似类型的多个问题,但我找不到可靠的东西。请帮助我,这将有很大帮助。

[另外,请不要通过给出该问题不包含任何代码的原因来结束此问题。不是因为我没有。我正在尝试从头解决此问题。我已尽力描述我的问题。

答案

尝试一下:

创建一个WebView并在其中复制您的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 https://github.com/itext/itext7(新版本)。

查看此详细教程,该教程也处理获取滚动视图https://www.codeproject.com/Articles/989236/How-to-Convert-Android-View-to-PDF-2的屏幕截图的情况>

以及此stackoverflow答案https://stackoverflow.com/a/29731275/12802591

-第二解决方案:

PdfMyXML库https://github.com/HendrixString/Android-PdfMyXml只需按照文档中的步骤进行。

它们可能是其他解决方案,但是很受欢迎。

让我知道它是否对您有用,以及您是否被困住。谢谢!

以上是关于将Android视图转换为A4大小的PDF的主要内容,如果未能解决你的问题,请参考以下文章

按比例缩放 HTML 以完全适合 PDF A4 大小

扫描的pdf文档怎么按照a4打印

如何将 Android 视图转换为 PDF

GHOSTSCRIPT - PS 到 PDF 转换纸张大小

使用 Ghostscript 调整 PDF 大小

vue页面生成pdf且避免分页截断处理