Android-PdfDocument-将LinearLayout分成多个pdf页面

Android-PdfDocument-将LinearLayout分成多个pdf页面,第1张

概述我有一个要转换为PDF的android线性布局.该PDF很多次会跨越多个页面.虽然我可以将内容转换为单页PDF,但在将PDF拆分为多页PDF时有些困难.我在下面给出了相关的代码块,为简单起见,对一些数字进行了硬编码.在这里,PdfDocument.PageInfo.Builder接受3个参数-宽度,高度和页码(以前,它用

我有一个要转换为pdf的android线性布局.该pdf很多次会跨越多个页面.虽然我可以将内容转换为单页pdf,但在将pdf拆分为多页pdf时有些困难.我在下面给出了相关的代码块,为简单起见,对一些数字进行了硬编码.在这里,pdfdocument.PageInfo.Builder接受3个参数-宽度,高度和页码(以前,它用来接受新的Rect(0,0,800,100),在API 23中不再起作用).现在,当我遍历for循环时,我不确定如何为多页pdf获取不同的内容.下面给出的当前代码为每个页面生成相同的内容,因为它基于宽度和高度,而不是基于坐标.

    pdfdocument.PageInfo pageInfo;    int noOfPages = (int)Math.floor(content.getHeight()/1000)+1;    for (int i=1;i<=noOfPages;i++) {        pageInfo = new pdfdocument.PageInfo.Builder                (800,1000,i).create();        pdfdocument.Page page = document.startPage(pageInfo);        content.draw(page.getCanvas());        document.finishPage(page);    }

解决方法:

自从我上一次从事pdfdocument工作以来已经有2年多的时间了,很抱歉,我没有您确切的答案,但是我会分享我的一点知识,希望对您有所帮助.

>在AndroID pdfdocument中,我们将为单个pdfpage提供VIEw.
>在创建pdfpage时,我们将WIDth& pdfpage的高度(598像素* 842像素(A4尺寸)).
>因此,您给写pdfpage的视图也应该与pdfpage大小相同.
>因此,我认为我们有责任为具有正确大小(宽度和高度)匹配pdfpage大小(宽度和高度)的单个页面创建视图.
> pdfdocument是转储文件,您为它提供的pdfpage的视图都将写入,因此我们有责任为单个页面和视图创建视图.将其提供给pdfdocument.

样品

看一下我2年后写的代码,这可能对您有所帮助-https://gist.github.com/apvasanth03/ed903535aed12c93e30b102d9596c399

注意

如果它包含多行TextVIEw,将很难将视图分为不同的页面.我没有答案.

请分享,如果您找到任何解决方案.

总结

以上是内存溢出为你收集整理的Android-PdfDocument-将LinearLayout分成多个pdf页面全部内容,希望文章能够帮你解决Android-PdfDocument-将LinearLayout分成多个pdf页面所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1091327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存