Hey zusammen,
Ich möchte in meiner App mittels FileDocument PDF Dateien aufrufen und bearbeiten (Texte verändern und zeichnen (Unterschriften etc.)).
Ich habe dann dieses Video gefunden: youtube.com/watch?v=Rt9-5Tm8vk4&t=185s
Doch hier wird leider nur gezeigt wie die Datei in UTF8 umgewandelt wird, heißt wenn ich eine PDF öffne kommt nichts sinnvolles bei raus.
Vllt könnt ihr mir weiterhelfen und habt eine Lösung. (so viele Videos gibt es zu dem Thema Document in SwiftUI leider noch nicht)
Ich würde mich freuen.
Das hier ist mein Code:
ContentView:
import SwiftUI
import UniformTypeIdentifiers
struct TextFile: FileDocument {
static var readableContentTypes = [UTType.pdf]
var text = ""
init(initialText: String = "") {
text = initialText
}
init(configuration: ReadConfiguration) throws {
if let data = configuration.file.regularFileContents {
text = String(decoding: data, as: UTF8.self)
}
}
func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper {
let data = Data(text.utf8)
return FileWrapper(regularFileWithContents: data)
}
func write(to fileWrapper: inout FileWrapper, contentType: UTType) throws {
let data = Data(text.utf8)
fileWrapper = FileWrapper(regularFileWithContents: data)
}
}
struct ContentView: View {
@Binding var document: TextFile
var body: some View {
TextEditor(text: $document.text)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(document: .constant(TextFile()))
}
}
Ich möchte in meiner App mittels FileDocument PDF Dateien aufrufen und bearbeiten (Texte verändern und zeichnen (Unterschriften etc.)).
Ich habe dann dieses Video gefunden: youtube.com/watch?v=Rt9-5Tm8vk4&t=185s
Doch hier wird leider nur gezeigt wie die Datei in UTF8 umgewandelt wird, heißt wenn ich eine PDF öffne kommt nichts sinnvolles bei raus.
Vllt könnt ihr mir weiterhelfen und habt eine Lösung. (so viele Videos gibt es zu dem Thema Document in SwiftUI leider noch nicht)
Ich würde mich freuen.
Das hier ist mein Code:
ContentView:
import SwiftUI
import UniformTypeIdentifiers
struct TextFile: FileDocument {
static var readableContentTypes = [UTType.pdf]
var text = ""
init(initialText: String = "") {
text = initialText
}
init(configuration: ReadConfiguration) throws {
if let data = configuration.file.regularFileContents {
text = String(decoding: data, as: UTF8.self)
}
}
func fileWrapper(configuration: WriteConfiguration) throws -> FileWrapper {
let data = Data(text.utf8)
return FileWrapper(regularFileWithContents: data)
}
func write(to fileWrapper: inout FileWrapper, contentType: UTType) throws {
let data = Data(text.utf8)
fileWrapper = FileWrapper(regularFileWithContents: data)
}
}
struct ContentView: View {
@Binding var document: TextFile
var body: some View {
TextEditor(text: $document.text)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(document: .constant(TextFile()))
}
}