Βιβλιοθήκη Swift για τη δημιουργία εξαιρετικά προσαρμοσμένων αναφορών χρησιμοποιώντας το REST API
Ξεκινήστε τη δωρεάν δοκιμήΤο GroupDocs.AssemblyCloud είναι μια πλήρως διαχειριζόμενη υπηρεσία συναρμολόγησης εγγράφων που βασίζεται σε REST και επιτρέπει στους προγραμματιστές να δημιουργούν αναφορές, συμβόλαια, τιμολόγια, προτάσεις και οποιοδήποτε άλλο είδος εγγράφου με πλούσια μορφοποίηση απευθείας από εφαρμογές Swift. Η υπηρεσία λειτουργεί πάνω από το GroupDocs Cloud Storage – τα πρότυπα και τα δεδομένα μεταφορτώνονται στο cloud, η μηχανή συναρμολόγησης τα επεξεργάζεται και το τελικό έγγραφο επιστρέφεται στον πελάτη χωρίς την ανάγκη για τοπικές εγκαταστάσεις του Office. Αυτό εξαλείφει την επιβάρυνση της συντήρησης βιβλιοθηκών τρίτων, μειώνει το φόρτο επεξεργασίας από την πλευρά του διακομιστή και εγγυάται ότι η πιο πρόσφατη υποστήριξη μορφών (DOCX, PDF, PPTX, XLSX, HTML, κ.λπ.) είναι πάντα διαθέσιμη.
Με το Swift SDK, ολόκληρη η ροή εργασίας εντάσσεται φυσικά στον τυπικό κύκλο ανάπτυξης iOS/macOS:
Προετοιμασία ενός προτύπου – ενός Word, Excel, PowerPoint ή οποιασδήποτε υποστηριζόμενης μορφής που περιέχει placeholders (π.χ., {{Customer.Name}}
) και προαιρετικούς κανόνες δημιουργίας γραμμένους σε σύνταξη τύπου LINQ. 2. Δημιουργήστε μια πηγή δεδομένων – ένα αρχείο JSON ή XML που παρέχει τις τιμές για τα placeholders. Σύνθετες δομές όπως οι πίνακες μπορούν να χρησιμοποιηθούν για τη δημιουργία πινάκων, γραφημάτων ή επαναλαμβανόμενων ενοτήτων.
Μεταφορτώστε το πρότυπο στο GroupDocs Cloud Storage χρησιμοποιώντας μία μόνο κλήση API (το SDK χειρίζεται το αίτημα πολλαπλών τμημάτων).
Καλέστε το τελικό σημείο Assemble – διαβιβάστε τη διαδρομή cloud του προτύπου, το περιεχόμενο της πηγής δεδομένων και την επιθυμητή μορφή εξόδου (η μορφή εξόδου μπορεί να διαφέρει από τη μορφή του προτύπου, π.χ. δημιουργήστε ένα PDF από ένα πρότυπο DOCX).
Λήψη του συναρμολογημένου εγγράφου – η υπηρεσία μεταδίδει το αποτέλεσμα πίσω. Το SDK μπορεί να το αποθηκεύσει τοπικά, να το στείλει μέσω email ή να το αποθηκεύσει ξανά στο Cloud Storage.
Το SDK συνοψίζει όλες τις λεπτομέρειες HTTP – χρειάζεται μόνο να δώσετε το App SID και το App Key (προσωπικά διακριτικά πρόσβασης). Όλη η επικοινωνία κρυπτογραφείται με SSL/TLS, η διαχείριση σφαλμάτων ακολουθεί τους τυπικούς κωδικούς κατάστασης HTTP και η υπηρεσία συμμορφώνεται με τα πρότυπα ασφαλείας βιομηχανικού επιπέδου. Επειδή η επεξεργασία εκτελείται στο cloud, ο ίδιος κώδικας Swift λειτουργεί σε iPhone, iPad, Mac ή οποιαδήποτε άλλη πλατφόρμα που μπορεί να εκτελέσει κώδικα Swift και να εκτελέσει αιτήματα δικτύου.
Οι ακόλουθες καρτέλες παρέχουν μια συνοπτική επισκόπηση των λειτουργιών που υποστηρίζονται από το AssemblyCloud για Swift, την πλήρη λίστα μορφών εγγράφων και τα λειτουργικά συστήματα / εργαλεία ανάπτυξης που είναι συμβατά με το SDK.
Το παρακάτω απόσπασμα δείχνει πώς να δημιουργήσετε μια αναφορά χρησιμοποιώντας το Assembly Cloud SDK για Swift. Ανεβάζει ένα πρότυπο, διαβάζει ένα αρχείο δεδομένων, ρυθμίζει τις επιλογές συναρμολόγησης και καλεί το API.
Βήματα
Αρχικοποιήστε το AssemblyApi
με το App SID και το App Key σας.
Ανεβάστε το έγγραφο προτύπου στο Cloud Storage.
Φορτώστε τα δεδομένα αναφοράς (XML/JSON) από ένα τοπικό αρχείο.
Δημιουργήστε το TemplateFileInfo
που δείχνει στο ανεβασμένο πρότυπο.
Ορίστε την επιθυμητή μορφή εξόδου (π.χ., docx).
Δημιουργήστε ένα αντικείμενο AssembleOptions
με πρότυπο, δεδομένα και μορφή.
Καλέστε το assembleDocument
και λάβετε το συναρμολογημένο αρχείο.
import GroupDocsAssemblyCloud
let assemblyApi = AssemblyApi(appSid: "......##", appKey: "......##")
let fileName = "Input1.docx"
let dataFile = "Input2.docx"
// Upload template
let requestFileContent = InputStream(url: URL(string: fileName)!)!
let uploadDocumentRequest = UploadFileRequest(fileContent: requestFileContent, path: fileName)
_ = try assemblyApi.uploadFile(request: uploadDocumentRequest)
// Prepare template info
let templateFileInfo = TemplateFileInfo()
templateFileInfo.setFilePath(filePath: fileName)
// Load data
let reportData = try String(contentsOfFile: dataFile, encoding: .utf8)
// Assemble options
let assembleOptions = AssembleOptions()
assembleOptions.setTemplateFileInfo(templateFileInfo: templateFileInfo)
assembleOptions.setSaveFormat(saveFormat: "docx")
assembleOptions.setReportData(reportData: reportData)
// Execute assembly
let request = AssembleDocumentRequest(assembleOptions: assembleOptions)
let result = try assemblyApi.assembleDocument(request: request)