# 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个
需积分: 5 0 下载量 114 浏览量
2024-03-12
17:00:21
上传
评论
收藏 5.81MB ZIP 举报
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
资源推荐
资源详情
资源评论
收起资源包目录
itextpdf尝试,android系统生成pdf,截长图 Android使用iText生成pdf文件.zip (54个子文件)
资料总结
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
资源评论
妄北y
- 粉丝: 9668
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功