4

我可以使用 MuPDF 库在 iphone/ipad 上开发电子书阅读器吗?

你有什么好主意吗?请帮助我一些好的教程。

4

2 回答 2

5

很抱歉回答迟了,但它可以帮助人们一天或一天​​。由于我必须将 MuPDF 库集成到我的一个 (Swift) 项目中,因此我生成了静态胖库并将它们集成到 Xcode 中。

在这里,您将获得一个分步快速教程:

如何构建静态胖库:

  1. git clone --recursive git://git.ghostscript.com/mupdf.git
  2. mupdf/platform/ios
  3. 使用 Xcode打开MuPDF.xcodeproj
  4. 将 MuPDF 目标的方案配置为Release
  5. 在 iPhone 模拟器上构建并运行应用程序。
    • 这将生成平台库i386x86_64
  6. 在真正的 iPhone 设备上构建和运行应用程序 - 使用您自己的捆绑包 ID、证书和配置文件。
    • 这将生成平台库armv7arm64
  7. mupdf/build/
    • 您将找到两个包含所有已构建库的文件夹:release-ios-i386-x86_64release-ios-armv7-arm64
  8. 现在您需要为 mupdf 及其所有依赖项创建具有所有 4 种架构的胖库。

lipo -create ./*/libcurl.a -output 'libcurl.a' ; lipo -create ./*/libfreetype.a -output 'libfreetype.a' ; lipo -create ./*/libjbig2dec.a -output 'libjbig2dec.a' ; lipo -create ./*/libjpeg.a -output 'libjpeg.a' ; lipo -create ./*/libmujs.a -output 'libmujs.a' ; lipo -create ./*/libmupdf.a -output 'libmupdf.a' ; lipo -create ./*/libopenjpeg.a -output 'libopenjpeg.a' ; lipo -create ./*/libz.a -output 'libz.a'

如何将 MuPDF 集成到您的项目中:

  1. 添加/导入到您的项目中:
    • 所有头文件来自mupdf/include/mupdf
    • 类中的所有 obj-cmupdf/platform/ios/
    • common.[h,m] 文件来自mupdf/platform/ios
  2. 添加/导入之前生成的fat库(8个文件)
  3. Library Search Path通过添加库文件的路径来 配置。
    • 例如$(inherited) $(PROJECT_DIR)/External/MuPDF/lib/

您现在应该能够使用包含的库构建和运行您的应用程序。使用示例项目来了解库的工作原理或任何在线教程。

专家提示:

最终的 fat 库非常大(~ 46mb)。您可以通过导入以下内容轻松减小应用程序的最终大小:

  1. 在发布文件夹下,只有 lib.a 来自mupdf/build/release-ios-armv7-arm64
  2. 在调试文件夹下,生成的大脂肪库来自mupdf/build/
  3. 设置不同Library Search Path的 forDebugReleaseconfig。

完成后,您将能够在每个模拟器和设备上构建和运行。Debug但仅适用于Release. 你最终需要哪个作为你的应用程序,通过,AppStore 应该只在真实设备上运行。无需包含调试模拟器架构静态库。

这是所有导入到我的 Xcode 项目中的文件的屏幕截图:

在此处输入图像描述

于 2015-06-29T09:15:53.480 回答
1

当然可以使用 MuPDF 在 iphone/ipad 上开发电子书阅读器。

MuPDF 在 GNU GPL 和 Artifex 商业许可下获得许可。我们有商业被许可人使用MuPDF 在 ipad 上实现电子书阅读器。

我们还通过 iTunes 应用商店(搜索 MuPDF)发布了适用于 iOS 的 MuPDF 版本——因此,尽管他们有时对允许和不允许的内容有不清楚和武断的规定,但 Apple 显然没有将“复制功能”作为之前的答主建议。

至于帮助教程等:

  • 在 MuPDF 源代码中,我们有一个 doc 目录,其中包含显示如何打开/呈现/关闭 PDF 文件的示例源代码。我们也有一些例子展示了如何在多线程世界中工作。
  • 我们在源代码中也有示例 android/iOS/windows/linux 查看器。
  • 我们有简单的命令行工具(同样有完整的源代码)来展示如何渲染 PDF 等。

我希望这足以让一个称职的程序员搬家。

虽然 GNU GPL 版本在不受支持的情况下发布,但我们确实向需要它们的人提供支持合同。或者,跳到#ghostscript irc 频道,我们也许可以帮助处理简单的查询(尽管我们可以投入多少时间来帮助任何一个免费用户)。或者,在此处提出具体问题。

于 2013-05-09T11:59:45.730 回答