SwiftyHaru
SwiftyHaru 是 LibHaru 的面向对象 Swift 包装器,LibHaru 是一个用于创建 PDF 文档的 C 库。它将 Swift 的安全性带到了在各种平台(如 Linux、macOS、iOS、watchOS 和 tvOS)上创建 PDF 的过程中。
请查看哪些 LibHaru 的功能 已在 FEATURES.md 中实现
需求
- Swift 4.2+
- iOS 8.0+
- macOS 10.10+
- tvOS 9.0+
- watchOS 2.0+
- Ubuntu 14.04+
安装
CocoaPods
对于 CocoaPods 的最新版本,请将以下内容添加到您的 Podfile
中:
use_frameworks!
pod 'SwiftyHaru'
对于最新开发版本:
use_frameworks!
pod 'SwiftyHaru', :git => 'https://github.com/WeirdMath/SwiftyHaru.git', :branch => 'dev'
Swift 包管理器
将 SwiftyHaru 作为依赖项添加到您的 Package.swift
中。例如:
let package = Package(
name: "YourPackageName",
dependencies: [
.package(url: "https://github.com/WeirdMath/SwiftyHaru.git", from: "0.3.0")
]
)
重要:当您构建具有 SwiftyHaru 作为依赖项的项目时,需要将 -Xlinker -lz
标志传递给编译器。这是因为 SwiftyHaru 需要链接 zlib(必须在您的计算机上安装)。例如:
$ swift build -Xlinker -lz
$ swift test -Xlinker -lz
文档
可供在这里查看:这里。
入门指南
import SwiftyHaru
// Initialize stuff
let document = PDFDocument()
try document.addPage(width: 600, height: 400) { context in
// Construct a path
let path = Path()
.moving(toX: 100, y: 100)
.appendingLine(toX: 400, y: 100)
.moving(toX: 500, y: 200)
.appendingArc(x: 400, y: 200, radius: 100, beginningAngle: 90, endAngle: 180)
.appendingCircle(x: 200, y: 200, radius: 50)
.moving(toX: 500, y: 200)
.appendingCurve(controlPoint1: Point(x: 400, y: 200),
controlPoint2: Point(x: 400, y: 300),
endPoint: Point(x: 500, y: 300))
.closingSubpath()
// Paint the path
context.strokeColor = .blue
context.stroke(path)
// Put some text
context.textLeading = 11
try context.show(text: "Roses are red,\nViolets are blue,\nSugar is sweet,\nAnd so are you.",
atX: 300, y: 200)
}
贡献
构建
$ make debug
或
$ make release
测试
$ make test
生成 Xcode 项目
由于 Xcode 项目被明确设置为 gitignore
,您可能需要生成它以使开发更舒适。这可以通过执行以下命令完成
make generate-xcodeproj