22 lines
681 B
Markdown
22 lines
681 B
Markdown
|
|
```swift title="Swift"
|
||
|
|
import Foundation
|
||
|
|
import Kreuzberg
|
||
|
|
import RustBridge
|
||
|
|
|
||
|
|
// Swift bindings build configs via JSON. To honor an on-disk
|
||
|
|
// `kreuzberg.{toml,yaml,json}`, load the file and pass its JSON
|
||
|
|
// representation to `extractionConfigFromJson`. Unknown formats
|
||
|
|
// can be normalized to JSON on the caller side.
|
||
|
|
let configJson: String
|
||
|
|
if let data = try? Data(contentsOf: URL(fileURLWithPath: "kreuzberg.json")),
|
||
|
|
let text = String(data: data, encoding: .utf8) {
|
||
|
|
configJson = text
|
||
|
|
} else {
|
||
|
|
configJson = "{}"
|
||
|
|
}
|
||
|
|
|
||
|
|
let config = try extractionConfigFromJson(configJson)
|
||
|
|
let result = try extractFileSync("document.pdf", nil, config)
|
||
|
|
print(result.content().toString())
|
||
|
|
```
|