如果你的应用需要OCR支持,我建议你使用苹果官方的方案,即使用Apple Vision框架的文本识别功能。如果苹果不支持你的语言,我建议你fork这个项目并自行维护。如果你需要帮助迁移到其他解决方案或维护你自己的fork,你或你的公司可以联系我安排一份合同协议。
此仓库包含编译Tesseract及其依赖项的构建脚本,以便将其作为Swift包分发到Apple平台。它的主要目标是帮助将SwiftyTesseract迁移为可作为Swift Package Manager依赖项使用。如果你正在寻找一种快速开始在你的Apple平台应用程序中使用Tesseract的方法,而无需处理内存管理的粗糙边缘和C语言互操作,那么你应该从SwiftyTesseract开始。
添加 libtesseract 作为 Swift Package 依赖项
// Package.swift
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "AwesomePackage",
platforms: [
// These are the minimum versions libtesseract supports
.macOS(.v10_13),
.iOS(.v11),
],
products: [
.library(
name: "AwesomePackage",
targets: ["AwesomePackage"]
),
],
dependencies: [
.package(url: "https://github.com/SwiftyTesseract/libtesseract.git", from: "0.2.0")
],
targets: [
.target(
name: "AwesomePackage",
dependencies: ["libtesseract"],
linkerSettings: [.linkedLibrary("z"), .linkedLibrary("c++")]
),
]
)
// AwesomePackage.swift
import libtesseract
你必须链接以下库
这可以在基于 Xcode 的项目中通过在 Build Phases -> Link Binary with Libaries 中添加它们来完成
在 Swift Package Manager 项目中,可以通过将以下内容添加到你的目标 linkerSettings
中来实现此目的
// See Package.swift example above for full context
targets: [
.target(
name: "AwesomePackage",
dependencies: ["libtesseract"],
linkerSettings: [.linkedLibrary("z"), .linkedLibrary("c++")]
),
]
请参阅 SwiftyTesseract 的 附加配置 说明,了解有关包含语言训练数据文件的注意事项。
如果你想从源代码构建 libtesseract,你需要在你的机器上安装 automake
、pkg-config
和 task
。 这些可以通过 homebrew 安装
brew install automake pkg-config go-task/tap/go-task
要构建用于分发的库,请运行 task build-tesseract-xcframework-zip
libtesseract 以二进制形式分发以下依赖项