# 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);
只需要修改此处就可以了,引入本地字体库.具体见代码
热爱技术。
- 粉丝: 2973
- 资源: 7864
最新资源
- 三菱FX3U PLC与Factory IO通讯仿真PID液位调节程序 说到学习PLC 的PID ,要有硬件 测温度的PID设备有: 输入输出模拟量模块300左右X2(有些PLC自带)
- carsim+simulink联合仿真实现变道 包含路径规划 carsim+simulink联合仿真实现变道 包含路径规划算法+mpc轨迹跟踪算法 可选simulink版本和c++版本算法(二选一)
- carsim+simulink联合仿真实现变道 包含路径规划 carsim+simulink联合仿真实现变道 包含路径规划算法+mpc轨迹跟踪算法 可选simulink版本和c++版本算法 可以适用于
- mpc模型预测控制从原理到代码实现 mpc模型预测控制从原理到代码实现 mpc模型预测控制详细原理推导 matlab和c++两种编程实现 四个实际控制工程案例: 双积分控制系统 倒立摆控制系统 车辆运
- 1.中性点不接地系统的小电流接地故障及故障选线的MATLAB仿真,也可以改接地的 2.两个打包(中性点不接地与中性点经消弧线圈接地),一个(中性点不接地或中性点经消弧线圈接地) 4.选线方法的仿真
- 多智能体,神经网络,自适应动态滑模,有文献可以参考 符合要求请放心联系,simulink,复现,保证能够运行
- 该模型是内置式的MTPA控制,速度环的输出为给定转矩,然后方式1通过求解MTPA方程得到dq给定电流,方式2进行工程近似得到dq给定电流,并外和id=0控制进行比较
- 永磁同步电机的无传感器控制算法 基于永磁同步电机(PMSM)的改进的卡尔曼滤波速度观测器simulink模型;可与普通卡尔曼滤波进行比对,精度大大提高
- 基于ESO的永磁同步电机无感FOC 1.采用线性扩张状态观测器(LESO)估计电机反电势,利用锁相环从反电势中提取位置和转速信息,从而实现无位置传感器控制; 2.提供算法对应的参考文献和仿真模型 拿
- 电机过调制算法模型从线性调制区到过调制区,算法已在量产车中验证过 电子文件产品
- 交错并联buck 两重化交错并联buck电路,采用电压电流双闭环控制,电流采用平均电流采样,载波移相180°,减少了电流纹波,可以减少电感体积 仿真波形如图所示,当采用软启动时,0.3秒的时间输出
- 永磁同步电机风力发电系统仿真模型,包含变桨系统与传动系统,运行各项指标正确,可稳定发出有功功率,无功功率为0
- fpga MIL-STD1553B源码,支持BC ,BM,RT 可任意移植到xilinx,altera,actel全系列型号 功能和接口可参考actel芯片1553b核,纯源码
- carsim交通场景搭建,carsim与matlab,prescan联合仿真,巡航、路径规划及道控制算法,cpar文件输出及场景图生成
- MMC,模块化多电平变流器的MATLAB,Simulink仿真 11电平三相MMC逆变器并网仿真,调制方式选用载波移相调制 采用双闭环矢量控制,施加环流抑制控制和子模块电容电压均衡控制 直流侧采用
- 三段式电流保护Matlab编程 Simulink仿真 1. Matlab编程计算三段式电流保护的整定值,并进行灵敏度校验; 2.Simulink搭建仿真模型,对三段式电流保护模型进行仿真分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈