mupdf源码
㈠ MuPDF怎么在windows环境下编译
git submole update --init代码获取完成以后,需要在源代码目录生成一个generated目录,里面有一些.h文件,这一步非常关键,也是我在编译过程中遇到的最大的障碍根据官方网站的说明,需要用 make generate 命令来生成这个目录,这就需要安装cygwin 编译环境.可直接网上下载安装,需要特别注意的是在安装cygwin时必需选择gcc和make相关的部分,否则无法执行 make命令,对新手来说,这一步非常重要,我就是在这里卡了很长时间,make总是不成功,提示说找不到命令,因为以前没有相关经验,所以卡了很长时间。gcc安装也是非常重要,把 gcc 编译c代码和c++ 代码的部分也都选上,否则即使有了make,也不能make成功。
执行make命令(执行make前,需要将cygwin路径加入到环境变量):
make generate
make成功以后,在源代码目录下面会生成generated 文件夹,内容如下图:
这一步成功完成后,编译就成功了一半。下面进行NDK编译,我用的NDK版本是R8B ,需要说明的是,经过我的摸索,并不是所有的版本的NDK都能编译通过,如果使用最新的NDKR8D的话会有非常多的警告。在源代码目录下找到local.properties.sample,改名为local.properties 做如下修改:
sdk.dir=C:\Documents and Settings\Administrator\android-sdks\platforms\android-10
ndk.dir=C:\android-ndk-r8b
分别是android sdk 路径和ndk 路径。这时,先不要执行NDK编译命令 ,在源代码目录的JNI文件夹下找到Application.mk文件,找到下面两行:
# If the ndk is r8b then workaround bug by uncommenting the following line
#NDK_TOOLCHAIN_VERSION=4.4.3
意思是说如果使用ndk r8b编译需要取消注释NDK_TOOLCHAIN_VERSION=4.4.3 这一行,OK,照办,取消注释。这一步非常重要,我就是实现没仔细看这行,导致最后编译不通过。原因是不同版本的GCC,对命令的解释有差异,导致错误,这里就不深究了。下面正式开始NDK编译:
整个编译工作大功告成。
㈡ Sumatra Pdf软件简介
Sumatra PDF是一款由Krzysztof Kowalczyk精心打造的轻量级PDF阅读器,它以开源软件的形式提供,用户可以选择下载安装版或携带版,同时开发者还分享了源代码,以便于用户深入了解和定制。
这款阅读器的核心技术依赖于两个功能强大的库:MuPDF和Poppler。MuPDF负责PDF处理,Poppler则提供PDF解析能力,共同确保了Sumatra PDF的高效运行。
Sumatra PDF的设计理念非常注重简洁,其安装文件体积小巧,只有约1MB,相较于Adobe Reader的27.5MB安装包,它的启动速度更快,节省了用户的系统资源。最新版本(1.9)甚至支持63种语言界面,极大地提高了全球用户的使用体验。
携带版的Sumatra PDF提供两种可执行档,SumatraPDF-no-MuPDF.exe和SumatraPDF.exe,前者更轻量,大小为1.7M,后者稍大一些,为4.24M。用户可以在PortableApps网站上找到携带版,方便将其存放在USB、iPod或移动设备上,随时随地阅读PDF文件。
特别值得一提的是,Sumatra PDF的一个实用功能是它能自动记住用户在每个PDF文档中的最后阅读页面,这对于电子书爱好者来说,无疑提升了阅读的连续性和便捷性。
最新版本的Sumatra PDF不仅支持PDF格式,还兼容EPUB、MOBI、XPS、DjVu、CHM、CBZ和CBR等多种电子书格式,功能全面,适应了现代用户多样化的阅读需求。
㈢ Python处理PDF的神器—PyMuPDF!速看!
PyMuPDF是MuPDF的Python接口形式,MuPDF是一个轻量级的PDF、XPS和电子书查看器。它包括一个渲染器,专门用于高质量抗锯齿图形,以在屏幕上再现打印页面的外观时获得最高保真度。PyMuPDF支持多种文档格式,如PDF、XPS、OpenXPS、CBZ、EPUB和FictionBook 2,并且提供了大量的附加功能,如创建、合并或拆分文档,以及页面的插入、删除、重新排列或修改等操作。使用PyMuPDF可以访问扩展名为".pdf"、".xps"、".oxps"、".cbz"、".fb2"或".epub"的文件。它支持大约10种流行的图像格式,如".png",".jpg",".bmp",".tiff"等。PyMuPDF可以从源码安装,也可以从wheels安装,对于Windows, Linux和Mac OSX平台,在PyPI的下载部分有wheels。安装时,除了标准库,它没有强制性的外部依赖项。PyMuPDF提供了导入库、查看版本、打开文档、获取元数据、获取目标大纲、页面处理等方法。在页面处理中,可以检查页面的链接、批注或表单字段,呈现页面,将页面图像保存到文件中,提取文本和图像,以及搜索文本。PyMuPDF可以修改PDF文档,包括修改、创建、重新排列和删除页面,连接和拆分PDF文档,以及保存和关闭文档。通过使用PyMuPDF,用户可以轻松地处理PDF文档并执行各种操作。
㈣ 当使用docx4j Android读取Word文档面临以下问题问题,怎么解决
大家好! 我是个Android新手,最近有个项目,其中有个需求就是在Android应用程序中查看word和pdf格式的文档(PS:不是用intent调用第三方软件打开文档哦~),可惜Android没有直接显示word和pdf文档的view。于是本菜鸟上网查了好久好久好久哇= =。 对于word,很多人说是用poi解析之后,再复写成html,最后用WebView显示。 那么,这个就是最普遍最简单的方法了么? 我感到很麻烦= = 还有别的方法么? 对于pdf,好像也是Apache旗下的pdfbox解析pdf,难道也要付写成html? 我下了一个MUPDF阅读器源码,好像不是那样做的。不过也是很麻烦很麻烦。 我是菜鸟嘛,先不提解析源文件和复写html的难度,就是能复写成html,我总感觉不保险,能保证和源文档格式一模一样么,能保证不会有些内容被遗漏么。。。还有,有人说poi只能解析.doc然后复写html,针对.docx很难弄成html?可是有人却说poi解析.docx是持续更新维护的技术,而poi解析.doc那部分组件已经不更新了。我就更迷茫了,如果我下功夫学习poi解析.doc,这个组件健全么,能完全解析正确么? 还有如果.doc解析好了,.docx能用poi解决问题嘛? 我只是不想浪费时间多走弯路,所以在这里请教csdn里的大神们给点建议和方向好么? 查看原帖>>
㈤ android pdf如何实现发大后下一页
是接入第三方的jar包(如android-pdfview、AndroidPdfViewer
、PdfViewPager、MuPdf等)这里面接入到项目里增加APP体积最小的就属android-pdfview了,但是也是增加了4m左右,这还是我只加了arm和arm-v7a,但是这个jar包有个致命的大坑,就是不能播放带有超链接的pdf文件,会报类型转换错误的crash,这个是我项目快要上线才发现的问题,而且作者也停更了,网上没有好的解决方法,只能把源码导入到项目里在报错的位置作相应的处理才能解决,而且可能会导致pdf显示不出来。别的jar包都因为实在是太大了,考虑到APP的体积都放弃了。
2. 是我偶尔发现的官方的simple PdfRendererBasic这个主要是把pdf文件读出来把每一页ppt转成图片显示出来,不过这个每次只能显示一张,虽然可以做一个下一页按钮,但是实在是跟我的需求不符就也放弃了。
3.
接入pdf.js。这是个开源的把pdf转换成图片的工具,在网上有很多资料,但是大部分都是服务器解决的,官网上的例子也大部分都是用服务器解决的例子,android端可能用到的人很少,也没有详细的教程,其实很简单,主要是把pdf.js和pdf.worker.js这两个js文件考到你项目里的assets文件里面,然后在你的项目里直接用webview调用就好了。详细
㈥ sumatra pdf怎么开发
Sumatra
PDF是由Krzysztof
Kowalczyk[1]
所开发的轻量级PDF阅读器[2]
,属于开放软件,可以后面网址下载安装版和携带版,同时还提供源码下载。
Sumatra
PDF
由下列两个函数库组成:MuPDF
-
PDF函数库,Poppler
-
PDF函数库。
Sumatra
PDF的设计风格极简单。软件的安装档案体积小,只有大约1MB,比起Adobe
Reader的安装档案27.5MB小很多,启动快。最新版本(1.9)拥有63种语言界面,其携带版又分两个可执行档SumatraPDF-no-MuPDF.exe(1.7M)及SumatraPDF.exe(4.24M)。在PortableApps网站上,也有提供可携带版的Sumatra
PDF,让使用者可以将它存在USB优盘、iPod、可移动硬盘、CD上,方便使用。
Sumatra
PDF有一个实用的功能,就是它可以记住每一个PDF档案上使用者最后浏览的页面,这使得浏览电子书非常方便。
Sumatra
PDF最新版本支持打开PDF,
ePub,
MOBI,
XPS,
DjVu,
CHM,
CBZ
和
CBR
格式