PDF是一种跨操作系统平台的电子文件格式,它能在各种不同的平台上以相同的版式显示。很多扫描书籍或者电子书籍都会采用PDF格式存储。但是移动端由于屏幕的限制,以原版展示PDF会导致画面缩放严重,影响阅读体验。

小白PDF阅读器能在移动端自动重排版PDF页面,大大提升PDF在移动端的阅读体验。

有相同功能的阅读器还有基于开源项目k2pdfopt二次开发的软件如KOReader和国内同样基于k2pdfopt开发的带有重排功能的电子书阅读器。由于KOReader与国内带有重排功能的电子书阅读器的重拍效果基本一致,所以下面就只比较小白PDF阅读器与KOReader的重排效果了。

一、简单图文混排PDF页面重排对比

KOReader基本能实现简单图文混排页面的重排,但是在段落和有项目符号的地方重排效果还有待改进,小白PDF阅读器的重排效果对比来看要好很多。

二、复杂图文PDF页面重排对比

面对比较复杂的PDF页面,KOReader重排效果稍差,未能将被包围的“眼镜”图片区域识别出来并重新排版并且将图片标题排版错了,而小白PDF阅读器就能智能的将“眼镜”图片及小标题识别出来,并重新排版;同时还智能的识别了页面标题,并在重新排版时给与优化显示。在段落间隔以及文本间隔的处理方面,小白PDF阅读器更能接近原始页面的比例,效果更加自然舒适。

三、扫描质量较差的PDF重排版对比

这张是扫描质量较差的PDF页面,周围有干扰,并且页面倾斜;对比来看小白PDF阅读器的重拍版效果还是可以接受的,而KOReader阅读器的重排效果就差强人意了。通过这个页面可以看到小白PDF阅读器排版前自动矫正了倾斜页面并对C语言代码部分的重排效果做了特别的优化;基本上保留了原版的代码格式。

四、针对编程技术类书籍的重排版对比

这张PDF原图中有一段java代码,KOReader阅读器直接无视了这段代码给当成普通文本重拍版了,未能保留代码个缩进等格式,造成整体的重排效果比较混乱。小白PDF阅读器智能的识别了这段代码,并保持了原有代码的缩进等,并在重排版自动换行时考虑了整体的缩进情况,整体效果非常好。小白PDF阅读器针对编程类PDF书籍做了特别优化,能智能识别java、c\c++、c#、python、go、js等常见的编程语言和json、xml文本格式,在重拍版时会尽量保持原有格式。

五、针对论文类的多列文档的重排版比较

这个文档其实是很复杂的从上到下分为表头、表格及表格标题、左右分栏的文本、图表及标题、左右分栏的文本。通过对比可以发现KOReader阅读器排版效果非常不理想,标题混乱、未能正确识别表格、左右分栏的文本块也排版混乱。而小白PDF阅读器则表现非常好,正确识别了各种元素,并能很好的重排版。

六、试题类PDF重排版对比

小白PDF阅读器针对试题类的PDF页面做了专门优化,能自动智能识别单选多选等类型的试题页面,并在排版时优化显示效果,KOReader阅读器则没有任何优化,直接当成文本显示了,所以针对试题类的PDF文件,小白PDF阅读器的重排版效果要更好一些。

六、带有数学公式类PDF重排版对比

可能是由于左侧竖杠的干扰,KOReader阅读器直接已原版显示了,未能重新排版。小白PDF阅读器则表现优异,自动排除了左侧竖杠的干扰,能正确识别页面元素,并能智能识别数学公式在排版时优化显示。

通过对比两款能将PDF页面自动重排的阅读器的效果可以看出,小白PDF阅读器的排版显示效果要好于KOReader阅读器的,由于KOReader及一众国内能自动重排PDF页面的阅读器大部分都基于k2pdfopt开源项目,所以小白PDF阅读器的重排版功能,目前来看是效果最好的

移动端PDF阅读器重排版效果对比-小白PDF阅读器与KOReader重排效果对比的更多相关文章

  1. 学习使用LaTex排版文字输出为pdf(1)

    学习用latex写我的简历. 我在ubuntu环境下,先下载所需软件,命令百度就可以. 先创建一个a.tex,写上 \documentclass{article} \usepackage{CJK} \ ...

  2. Pdf文件处理组件对比(Aspose.Pdf,Spire.Pdf,iText7)

    目的 因为公司是做医疗相关软件的,所以经常和文档打交道,其中就包含了Pdf.医院的Pdf(通常是他们的报告)都千奇百怪,而我们一直以来都是在用一些免费且可能已经没人维护了的组件来处理Pdf,所以就经常 ...

  3. 在线打开,浏览PDF文件的各种方式及各种pdf插件------(MS OneDrive/google drive & google doc/ github ?raw=true)

    在线打开,浏览PDF文件的各种方式: 1 Google drive&doc   (国内不好使,you know GFW=Great Firewall) 1. google drive: 直接分 ...

  4. Kindle阅读产品体验报告-随时随地畅享阅读

    产品入门-第一份产品体验报告Kindle阅读-随时随地畅享阅读时间:2018/11/18-11/22   Kindle阅读 一.产品概括 (1)体验环境 机型:荣耀8 系统:EMUI 8.0(Andr ...

  5. PDF解决方案(2)--文件转PDF

    相关专题链接: PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇中讲到的文件上传,文件上传 ...

  6. 使用pdf.js实现前端页面预览pdf文档,解决了跨域请求

    pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析 官网地址:http://mozilla.github.io/pdf.js/ 下 ...

  7. 【C#/VB.NET】 将PDF转为SVG/Image, SVG/Image转PDF

    SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形.它在放大或者改变尺寸的情况下其图形质量不会有所损失,且与 JPG 和 GIF 图像比起 ...

  8. WeasyPrint - Converts HTML + CSS to PDF - WeasyPrint converts HTML/CSS documents to PDF

    WeasyPrint - Converts HTML + CSS to PDF - WeasyPrint converts HTML/CSS documents to PDF WeasyPrint c ...

  9. PDF如何设置书签,怎么在PDF上添加书签

    PDF文件现在作为我们使用最多的一种办公文件,当然我们在使用PDF文件的同时还会需要编辑PDF文件,在使用一个PDF文件页数比较多的时候就需要添加书签,不然每次使用的时候都需要从头开始查找是很麻烦又头 ...

  10. PDF文件如何标注,怎么使用PDF标注工具

    我们在使用文件的时候需要给文件的部分添加标注,能够更加直观的了解文件,但是有很多小伙伴们对于PDF文件怎么添加标注都不知道,也不知道PDF标注工具要怎么使用,那么下面就跟大家分享一下怎么使用PDF标注 ...

随机推荐

  1. AGC007F 题解

    题意 给定两个长为 \(n\) 的字符串 \(S, T\),求最少进行多少次操作才能使 \(S = T\). 一次操作定义为:对于 \(i = 1, 2, .. n\),令第 \(i\) 位为操作后的 ...

  2. 微前端实践MicroApp

    微前端实践 本文主要是关于microApp的实践过程记录 本文主要内容如下: 什么是MicroApp? MicroApp的父子通讯方式以及路由介绍 如何部署相关应用? 安装 npm i @micro- ...

  3. 为什么在EffectiveJava中建议用EnumSet替代位字段,以及使用EnumMap替换序数索引

    在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,在第37条中建议 用EnumMap替换序数索引,为什么? EnumSet 在EffectiveJava中的第 36条中 ...

  4. Identity – user login, forgot & reset password, 2fa, external login, logout 实战篇

    前言 之前写过一篇 Identity – User Login, Forgot Password, Reset Password, Logout, 当时写的比较简陋, 今天有机会就写多一篇实战版. 建 ...

  5. HTML – Native Form 原生表单功能集

    前言 以前写过 form 表单, 但很不齐全, 这篇想做一个大整理. 主要讲讲在网站中使用原生 Form 的功能, 不足和扩展. 前端是原生的 HTML/JS, 后端是 ASP.NET Core Ra ...

  6. Qt连连看(一)需求分析

    虽然开发经验并不多,但是结合以往的一点实践项目和理论学习,自认为不管是开发什么工程项目,只要遵循软件工程的构建原则,如选择一个合理的架构体系,再掌握一门语言,利用数据结构组织数据,算法实现想法和功能, ...

  7. Hadoop & Redis未授权漏洞实战——Vulfocus服务攻防

    什么是未授权访问漏洞?Hadoop & Redis靶场实战--Vulfocus服务攻防 一.介绍 未授权访问,也称为未经授权的访问或非法访问,是指在没有得到适当权限或授权的情况下,个人或系统访 ...

  8. USB协议详解第6讲(USB描述符-端点描述符)

    1.USB描述符 USB描述符有设备描述符.标准配置描述符.接口描述符.端点描述符.字符串描述符,HID设备有HID描述符.报告描述符和物理描述符.今天主要是学习USB端点描述符的组成. 2.端点描述 ...

  9. C# 的空类型

    // 空类型 null int iii; // 默认 0 bool bbb; // 默认 false bool? b; // 空值 null int? i; // 空值 null string str ...

  10. 游戏推荐业务中基于 sentinel 的动态限流实践

    作者:来自 vivo 互联网服务器团队- Gao Meng 本文介绍了一种基于 sentinel 进行二次开发的动态限流解决方案,包括什么是动态限流.为什么需要引入动态限流.以及动态限流的实现原理. ...