以前在手机端看扫描版的pdf电子书,要么放大后用手指来回拖动着看,要么将手机横屏看,阅读体验非常差!后来就想自己做一款能自动重排版的pdf阅读器,于是小白PDF阅读器就诞生了!
小白PDF阅读器的重排版功能实现方式并不复杂,但是实现过程比较繁琐。主要实现思路就是将pdf页面的所有元素分割出来主要包括文字英文单词图片表格等,然后再根据屏幕大小重新排版。
经过迭代开发,小白PDF阅读器从最初的只支持简单的图文混排到现在已经能适应大部分复杂页面重排版
下面是一些pdf页面的排版效果
最新版的小白PDF阅读器支持带有背景色区域的文字重排版,并且支持带有轮廓区域的文字重排版。在1.43版本中优化了对下划线的支持,现在重排版时已能正确识别下划线,波浪下划线等
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129100611141-601459614.jpg)
下面这个页面有些复杂,页面倾斜,半分栏排版,图文表格都有。小白PDF阅读器也能自动校正页面并能做到正确重排版
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129100719620-1232393258.jpg)
计算机类的书籍大部分都带有代码片段,如果在重排版时不考虑代码格式,就会导致重排后的代码格式混乱。小白PDF阅读器在重排时单独对代码片段进行了处理,可以较好的保留代码格式。
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129100745727-464276317.jpg)
针对有数学公式的页面,小白PDF阅读器也单独进行了优化。看论文文献等类型的pdf,效果也不错
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129100835681-277602211.jpg)
针对试题类页面,小白PDF阅读器也进行了优化,可以较好的展示选择题等
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129100928254-1190592490.jpg)
针对扫描版文字不清晰的页面小白PDF阅读器提供了OCR渲染模式,两种渲染模式可在App里随意切换,由于移动端性能受限,无法运行高精度OCR模型,会导致部分文字识别错误。后续这块的优化思路会将OCR识别模块放到服务端,不过还得买服务器,成本有点高。
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129100957103-1575067360.jpg)
很多用户喜欢各种各样的背景色,同样小白PDF阅读器也支持更换背景色功能,下图展示了夜晚主体下的暗黑背景色,App里还有多种内置背景颜色可供选择。
![](https://img2024.cnblogs.com/blog/579798/202411/579798-20241129101043455-579134169.jpg)
小白PDF阅读器还支持标记,手写标记等丰富的功能。