android下PDF格式的地图数据的显示------超大PDF页面显示策略(一)
2011-11-15 19:58
155 查看
这两周,忙着做一个“PDF阅读器”。不过这个PDF阅读器不是一般的阅读器,他要求打开的PDF是超大页面的矢量PDF。说得直接点,PDF存储的是地图数据,我做一个地图显示界面。注意:这个PDF只有一页!
这个项目的难点在于,在嵌入式系统上实时绘制和渲染超大PDF页面。要显示的PDF是一个8M矢量数据的地图。显示,一次性将PDF渲染出来是不现实的,除非你愿意等20秒钟然后才看到地图。
项目方案:(裁剪以渲染,拼接以显示)
首先,在PC上用另外一个工具软件将8M的超大PDF页面“矢量裁剪”成64个page,每个page都是800乘800像素(100%缩放比例下)。至于“矢量裁剪”的话,用adobe acrobat就可以,只是它只能手工裁剪。要想用软件裁剪,也是可以的,用xpdf的源码打造一个裁剪器就可以了。基本原理是,设定一个裁剪框,对于在框内的矢量数据,直接保留,在框外的矢量数据,直接丢弃,和框有交叉的数量数据,直接保留(这样简单)。
因为每个page是等尺寸的,于是拼接显示就方便很多。裁剪后的64个page组成一个8乘8的二维矩阵pages,所有page拼合在一起,就是原始的PDF页面。明白这个道理后,要拼接显示就容易多了。
给定一个屏幕显示位置后,计算出在pages矩阵中和屏幕相交的page,然后分别渲染出来,最后拼接显示在屏幕中即可。
方案优势:
1.把大页面的pdf页面裁剪成小页面的pdf页面,渲染每个小页面的pdf页面,速度很快,效率高,同时屏幕浏览到哪里才渲染附近的pdf页面,大大提高绘图速度,让用户能够第一时间看到渲染出来的地图。
2.超大pdf裁剪成小页面后,可以以小页面为单位做图片缓存。当用户漫游回以前浏览过的地方后,直接从图片缓存中拉取图片出来拼接显示即可,提高用户体验。
项目具体介绍见下文。
这个项目的难点在于,在嵌入式系统上实时绘制和渲染超大PDF页面。要显示的PDF是一个8M矢量数据的地图。显示,一次性将PDF渲染出来是不现实的,除非你愿意等20秒钟然后才看到地图。
项目方案:(裁剪以渲染,拼接以显示)
首先,在PC上用另外一个工具软件将8M的超大PDF页面“矢量裁剪”成64个page,每个page都是800乘800像素(100%缩放比例下)。至于“矢量裁剪”的话,用adobe acrobat就可以,只是它只能手工裁剪。要想用软件裁剪,也是可以的,用xpdf的源码打造一个裁剪器就可以了。基本原理是,设定一个裁剪框,对于在框内的矢量数据,直接保留,在框外的矢量数据,直接丢弃,和框有交叉的数量数据,直接保留(这样简单)。
因为每个page是等尺寸的,于是拼接显示就方便很多。裁剪后的64个page组成一个8乘8的二维矩阵pages,所有page拼合在一起,就是原始的PDF页面。明白这个道理后,要拼接显示就容易多了。
给定一个屏幕显示位置后,计算出在pages矩阵中和屏幕相交的page,然后分别渲染出来,最后拼接显示在屏幕中即可。
方案优势:
1.把大页面的pdf页面裁剪成小页面的pdf页面,渲染每个小页面的pdf页面,速度很快,效率高,同时屏幕浏览到哪里才渲染附近的pdf页面,大大提高绘图速度,让用户能够第一时间看到渲染出来的地图。
2.超大pdf裁剪成小页面后,可以以小页面为单位做图片缓存。当用户漫游回以前浏览过的地方后,直接从图片缓存中拉取图片出来拼接显示即可,提高用户体验。
项目具体介绍见下文。
相关文章推荐
- android下PDF格式的地图数据的显示------超大PDF页面显示策略(二)
- android map高德地图显示多个点,并且每个marker点可以响应鼠标点击事件,处理跳转页面
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- ASP.net 从数据库中读取html格式的数据并显示在页面中
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- Android布局设计之ExpandableList绑定XML数据构成级联、item布局页面的控件查找及配置child事件,自定义适配显示内容
- jquery里面调用getjson方法,将list类型转换为json格式数据,在页面迭代显示
- JSP页面显示 Date 和 Double数据类型类时自定义显示格式
- <问题解决>数据库date类型数据前端页面显示格式不正确问题
- Json格式数据HTML页面中格式化显示,可折叠,可展开
- Android访问网络系列之--服务端返回XML或JSON格式数据,Android 进行解析并显示
- flex实现百度库文浏览文档使用word文档转pdf然后再用pdf转swf最后flex页面使用flexpaper显示文库数据
- Android百度地图开发之开发第一个小应用,显示基础的地图页面
- 在Salesforce中以PDF的格式显示对应的页面
- WPF 在页面中按照自定义格式显示DateTime数据
- arcgis for android 加载jpg格式的影像地图显示不出的问题
- arcgis server 发布的mdb格式空间数据无法显示地图
- jquery里面调用getjson方法,将list类型转换为json格式数据,在页面迭代显示
- Android访问网络:服务端返回XML或JSON格式数据,Android 进行解析并使用ListView显示
- ajax根据ID查询数据库并返回Json格式数据返回js,使用append显示到页面。判断json值为[]或者[[]]的问题。