# ViewToPdf
最近有个需求,客户要求在页面显示数据后,可以进行打印保存,一开始接这个需求直接就想着view生成pdf,嗯嗯,挺简单,说干就干,立即写个demo,写完demo就懵逼了,pdf生成太耗时间,生成的pdf非常大,一个在4M多,所以只要另找方法,就想到了屏幕截图,方案虽好,但是数据过多的话截得长图在pdf上只是一页,期间尝试转换pdf时进行分页,找不到好的方案,所以果断放弃该方案,最后就用itexg吧,确实符合项目要求,itexg代码在Main2Activity.java中,也是对itextG初探,难免会有不足之处,如发现,欢迎指正.
#### 通过系统PdfDocument将view生成pdf
![](/view.jpg)
该方式生成pdf太耗时,测试在30s内.
上传项目后在测试,程序会无响应,应该是线程的问题,可以把生成pdf这块放在子线程.
#### 截取RecycleView
![](/recy.jpg)
可以先点击截图然后再点击生成pdf,速度快,但缺点是RecycleView数据过多时pdf显示出问题,无法分页.
#### 通过itextG生成pdf
![](/itextpdf.jpg)
速度快,自动分页,使用该方式需要注意:
gradle导包需要导入itextG包,而不是itext,itextG是android适用的包,itext包含java.awt,java.awt是java环境的,不能在android上用的。
> compile 'com.itextpdf:itextg:5.5.10'
itextG不支持中文,如果不做任何处理,中文会显示空白,网上的解决方案是加入itext-asian.jar 包,
然后如下设置:
public static Font getPdfChineseFont() throws Exception {
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H",
BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL);
return fontChinese;
}
其实这么做没有任何用处,处理方式如下:
baseFont = BaseFont.createFont("assets/simsun.ttf",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
只需要修改此处就可以了,引入本地字体库.具体见代码
没有合适的资源?快使用搜索试试~ 我知道了~
itextpdf尝试,android系统生成pdf,截长图 Android使用iText生成pdf文件.zip
共54个文件
xml:19个
png:10个
java:9个
0 下载量 137 浏览量
2024-08-23
09:41:41
上传
评论
收藏 5.81MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供使用问题指导/解答
资源推荐
资源详情
资源评论
收起资源包目录
itextpdf尝试,android系统生成pdf,截长图 Android使用iText生成pdf文件.zip (54个子文件)
DSandroidffv1
gradle.properties 730B
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 230B
app
src
androidTest
java
com
rongsheng
viewtopdf
ExampleInstrumentedTest.java 750B
test
java
com
rongsheng
viewtopdf
ExampleUnitTest.java 401B
main
assets
simsun.ttf 10.01MB
java
com
rongsheng
viewtopdf
Utils.java 7KB
Main2Activity.java 8KB
JieTuActivity.java 3KB
HomeAdapter.java 769B
Table1.java 663B
MainActivity.java 3KB
Person.java 478B
res
mipmap-xxhdpi
ic_launcher_round.png 10KB
ic_launcher.png 8KB
mipmap-hdpi
ic_launcher_round.png 4KB
ic_launcher.png 3KB
mipmap-mdpi
ic_launcher_round.png 2KB
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher_round.png 14KB
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher_round.png 6KB
ic_launcher.png 5KB
values
colors.xml 208B
strings.xml 350B
styles.xml 383B
layout
item_recycle_layout.xml 1003B
activity_jie_tu.xml 1KB
activity_main2.xml 442B
activity_main.xml 3KB
AndroidManifest.xml 1019B
proguard-rules.pro 915B
build.gradle 1KB
.gitignore 7B
gradlew.bat 2KB
view.jpg 93KB
build.gradle 751B
itextpdf.jpg 51KB
.idea
runConfigurations.xml 564B
markdown-navigator
profiles_settings.xml 104B
misc.xml 3KB
inspectionProfiles
Project_Default.xml 1KB
profiles_settings.xml 235B
compiler.xml 686B
modules.xml 355B
gradle.xml 626B
encodings.xml 159B
copyright
profiles_settings.xml 74B
markdown-navigator.xml 4KB
settings.gradle 15B
gradlew 5KB
recy.jpg 26KB
.gitignore 118B
README.md 2KB
共 54 条
- 1
资源评论
热爱技术。
- 粉丝: 2515
- 资源: 7862
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#ASP.NET大型商城系统源码带数据库文档数据库 SQL2008源码类型 WebForm
- (全新整理)中国高校各专业录取分数线、招生计划、分段表数据(2008-2023年)
- 服务端开发复习资料MyBatis与Spring框架
- 中国A股上市公司真实盈余管理REM计算数据(2000-2023年)
- 嵌入式系统开发.docx
- 服务端后端开发复习资料:主流框架详解及应用 - Spring与MyBatis深入剖析
- AI程序源码最新,chat程序源码,支持多个国家语言
- C#ASP.NET自动排课系统源码 大学自动排课系统源码数据库 SQL2008源码类型 WebForm
- mysql数据库项目.docx
- 基于MATLAB的常用智能算法源码及案例
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功