项目中如果需要实现在pdf做标注。大可使用mupdf(开源的)
- 这个
[http://www.mupdf.com]
是mupdf的官网。 - 网上的大多数教程都是教怎么去直接集成和使用mupdf的。
- 通过俩天的努力 我找到一个很好用的别人在mupdf的基础上进行封装的。省去了我们的很多集成步骤。这里放下他的地址
https://github.com/ArtifexSoftware/mupdf-ios-appkit
-
注意下 不要直接点下载 看截图
image.png
使用git clone 下来。 我的之前直接下载 有报错。好像git clone 他还会去下载最新的依赖文件
最后再看下我项目中如何使用
-
image.pngcommand + B
获取 真机下的framework
我这里没有做模拟器的framework
需要的自己去合并 .
-
把
image.pngmupdfdk.framework
拖入到工程中
-
配置
image.pngmupdfdk.framework
-
测试
- 把pdf文件写入到document文件夹下。
let fileManager = FileManager.default
let docsDir = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let filePath1 = Bundle.main.path(forResource: "iOS_20200804172410", ofType: "pdf") ?? ""
let filePath2 = Bundle.main.path(forResource: "rk", ofType: "pdf") ?? ""
if !fileManager.fileExists(atPath: docsDir + "/rk.pdf") {
try? fileManager.copyItem(atPath: filePath2, toPath: docsDir + "/rk.pdf")
}
if !fileManager.fileExists(atPath: docsDir + "/iOS_20200804172410.pdf") {
try? fileManager.copyItem(atPath: filePath1, toPath: docsDir + "/iOS_20200804172410.pdf")
}
- 跳转到
mupdf
界面
@objc func btnClickAction() {
if let vc = CustomUIDocumentViewController(forPath: "iOS_20200804172410.pdf") {
self.navigationController?.pushViewController(vc, animated: true)
}
}
@objc func btnClickAction1() {
if let vc = CustomUIDocumentViewController(forPath: "rk.pdf") {
self.navigationController?.pushViewController(vc, animated: true)
}
}
看效果
IMG_3729.PNGIMG_3730.PNG
最后 还有很多功能 自己去探索吧!!!!!
网友评论