Προσθέτοντας προβολή εγγράφων σε μια επιχειρηματική εφαρμογή απαιτεί περισσότερα από το να τοποθετήσετε ένα PDF σε ένα iframe. Τα αρχεία Office, τα σχέδια CAD, τα αρχεία email και οι εικόνες απαιτούν διαφορετικές δυνατότητες απόδοσης, ενώ η εφαρμογή πρέπει ακόμη να ελέγχει τον έλεγχο ταυτότητας, την αποθήκευση, την εξουσιοδότηση και τη διατήρηση.
Doconut είναι ένα .NET SDK προβολέα εγγράφων σχεδιασμένο για να ενσωματώνει την απόδοση και την αλληλεπίδραση εγγράφων σε web εφαρμογές. Αντί να παρουσιάζει μια μη επαληθευμένη συνταγή κώδικα, αυτός ο οδηγός εξηγεί τις αποφάσεις ενσωμάτωσης που πρέπει να κάνει η ομάδα σας και εντοπίζει τα τυπικά .NET συστατικά που συνήθως περιβάλλουν το SDK.

Γιατί ένας Ενσωματωμένος Προβολέας Διαφέρει από τη Λήψη Αρχείου
Ένα endpoint λήψης μεταφέρει το αρχικό αρχείο και αφήνει την εμπειρία προβολής σε λογισμικό εκτός της εφαρμογής σας. Ένας ενσωματωμένος προβολέας κρατάει τον χρήστη μέσα στο προϊόν σας και μπορεί να παρέχει ένα συνεπές σημείο για πλοήγηση, αναζήτηση, ανασκόπηση και άλλες ενεργοποιημένες λειτουργίες.
Η δημιουργία της στρώσης απόδοσης από μόνοι σας είναι δύσκολη επειδή κάθε μορφή έχει τους δικούς της κανόνες:
- Τα αρχεία PDF μπορούν να περιέχουν ενσωματωμένες γραμματοσειρές, σημειώσεις, φόρμες και πολύ μεγάλα σύνολα σελίδων.
- Τα αρχεία Word, Excel και PowerPoint απαιτούν προσεκτική διάταξη και διαχείριση γραμματοσειρών.
- Τα σχέδια CAD χρειάζονται ακριβή κλιμάκωση, στρώματα και λεπτομερή ζουμ.
- Οι μορφές email και εικόνας εισάγουν συνημμένα, μεταδεδομένα, χρώμα και ανησυχίες ανάλυσης.
Ένα εξειδικευμένο SDK επιτρέπει στην ομάδα της εφαρμογής να εστιάσει στον έλεγχο πρόσβασης, στις ροές εργασίας και στην εμπειρία χρήστη αντί να συντηρεί ξεχωριστό renderer για κάθε υποστηριζόμενη μορφή.
Βήμα 1: Επιβεβαίωση των Απαιτούμενων Μορφών και Χαρακτηριστικών
Ξεκινήστε με ένα πραγματικό απόθεμα των αρχείων που ανοίγουν οι χρήστες σας. Διαχωρίστε τις απαραίτητες μορφές από τις περιστασιακές και καταγράψτε αντιπροσωπευτικά δείγματα για δοκιμές.
Η λίστα ελέγχου σας μπορεί να περιλαμβάνει:
- Έγγραφα PDF και XPS
- Έγγραφα επεξεργασίας κειμένου
- Φύλλα εργασίας
- Παρουσιάσεις
- Σχέδια CAD
- Αρχεία email
- Κοινές μορφές εικόνας
Στη συνέχεια εντοπίστε τα χαρακτηριστικά που έχουν σημασία για κάθε ροή εργασίας. Η προβολή, η αναζήτηση κειμένου, οι σημειώσεις, η εκτύπωση και η μετατροπή είναι διαφορετικές δυνατότητες και μπορεί να απαιτούν διαφορετικά συστατικά Doconut ή διαφορετική άδεια.
Ανασκοπήστε το τρέχον πεδίο προϊόντος στη επαληθευμένη σελίδα Προβολέα Doconut πριν δεσμευτείτε σε μια μορφή ή χαρακτηριστικό. Οι δυνατότητες του προϊόντος μπορούν να αλλάξουν, οπότε τα τεστ αποδοχής σας πρέπει να παραμένουν η τελική αρχή για τα έγγραφα που οι πελάτες σας χρησιμοποιούν πραγματικά.
Βήμα 2: Επιλογή του Σημείου Εισόδου των Εγγράφων στην Εφαρμογή
Μια εφαρμογή ASP.NET μπορεί να λαμβάνει έγγραφα από πολλές ελεγχόμενες πηγές:
- Μια μεταφόρτωση που διαχειρίζεται το ASP.NET Core
IFormFile - Μια προστατευμένη θέση αρχείου
- Μια βάση δεδομένων ή αποθετήριο διαχείρισης εγγράφων
- Αποθήκευση αντικειμένων προσβάσιμη από τον διακομιστή
- Μια εσωτερική υπηρεσία που επιστρέφει ένα
Stream
Η ροή προβολής πρέπει να χρησιμοποιεί μια εξουσιοδοτημένη αναφορά εγγράφου από τον διακομιστή. Μην τοποθετείτε διαπιστευτήρια αποθήκευσης, απεριόριστες διαδρομές αρχείων ή μόνιμα δημόσια URLs στο markup της πλευράς του πελάτη.
Αν οι χρήστες ανεβάζουν αρχεία, επικυρώστε τα πριν από την απόδοση. Ελέγξτε το μέγεθος αρχείου, την επέκταση, την υπογραφή αρχείου και τυχόν επιχειρηματικούς περιορισμούς. Αποθηκεύστε το αναγνωριστικό που δημιουργεί ο διακομιστής αντί να βασίζεστε στο αρχικό όνομα αρχείου ως διαδρομή.
Βήμα 3: Ορισμός Εξουσιοδότησης και Πιστοποίησης
Η εφαρμογή—όχι το UI του προβολέα—πρέπει να αποφασίζει ποιος επιτρέπεται να ανοίξει ένα έγγραφο.
Στο ASP.NET Core, τυπικοί μηχανισμοί όπως το middleware πιστοποίησης, το χαρακτηριστικό [Authorize], οι πολιτικές, τα claims και η εξουσιοδότηση βάσει πόρων μπορούν να προστατεύσουν το endpoint που ξεκινά μια συνεδρία προβολής. Η απόφαση εξουσιοδότησης πρέπει να περιλαμβάνει τόσο τον τρέχοντα χρήστη όσο και το ζητούμενο έγγραφο.
Μια ασφαλής ροή αιτήματος φαίνεται ως εξής:
- Ο χρήστης ζητά ένα έγγραφο χρησιμοποιώντας ένα αναγνωριστικό επιπέδου εφαρμογής.
- Ο διακομιστής πιστοποιεί τον χρήστη.
- Ο διακομιστής επαληθεύει ότι ο χρήστης μπορεί να προσπελάσει το συγκεκριμένο έγγραφο.
- Ο διακομιστής εντοπίζει την προστατευμένη θέση αποθήκευσης.
- Ο προβολέας λαμβάνει μόνο τις πληροφορίες που απαιτούνται για αυτήν την εξουσιοδοτημένη συνεδρία.
Ποτέ μην υποθέτετε ότι η απόκρυψη ενός κουμπιού εργαλειοθήκης αποτελεί έλεγχο εξουσιοδότησης. Οι έλεγχοι πρόσβασης στην πλευρά του διακομιστή παραμένουν απαραίτητοι ακόμη και όταν τα κουμπιά λήψης ή εκτύπωσης δεν εμφανίζονται.
Βήμα 4: Προσθήκη του Doconut μέσω των Επίσημων Πόρων Ενσωμάτωσης
Χρησιμοποιήστε το τρέχον πακέτο και τις οδηγίες εγκατάστασης που παρέχονται από το Doconut. Η επαληθευμένη σελίδα λήψης Doconut παρέχει πρόσβαση σε πόρους ενσωμάτωσης NuGet, τεκμηρίωση, παραδείγματα και demos.
Η ακριβής ρύθμιση μπορεί να εξαρτάται από:
- Τον τύπο της εφαρμογής ASP.NET ή .NET
- Το επιλεγμένο προϊόν και τα plugins του Doconut
- Την έκδοση του Doconut
- Την άδειά σας
- Τις μορφές εγγράφων και τα χαρακτηριστικά που ενεργοποιείτε
- Τη διαμόρφωση του Windows server σας
Ακολουθήστε την τεκμηρίωση που ταιριάζει με την εγκατεστημένη έκδοση. Αποφύγετε την αντιγραφή αποσπασμάτων αρχικοποίησης από άσχετες δημοσιεύσεις, επειδή τα namespaces, οι ρυθμίσεις, οι διαδρομές πόρων και τα APIs μπορούν να αλλάξουν μεταξύ εκδόσεων.
Βήμα 5: Δημιουργία Αποκλειστικού Ορίου Προβολής
Κρατήστε την προβολή εγγράφων πίσω από μια μικρή υπηρεσία εφαρμογής αντί να καλείτε τη λειτουργικότητα του SDK σε πολλούς ελεγκτές και UI συστατικά.
Αυτή η υπηρεσία μπορεί να είναι υπεύθυνη για:
- Εντοπισμό ενός εξουσιοδοτημένου αναγνωριστικού εγγράφου
- Άνοιγμα του εγγράφου ως ελεγχόμενο
Streamόταν είναι απαραίτητο - Παροχή απαιτούμενης διαμόρφωσης προβολής
- Απελευθέρωση πόρων αρχείου και ροής
- Μετατροπή τεχνικών αποτυχιών σε ασφαλή σφάλματα εφαρμογής
- Καταγραφή λειτουργικών μετρήσεων χωρίς καταγραφή του περιεχομένου του εγγράφου
Αυτό το όριο κάνει τις αναβαθμίσεις πιο εύκολες και μειώνει τον κίνδυνο αποκάλυψης λεπτομερειών αποθήκευσης στο επίπεδο παρουσίασης. Παρέχει επίσης στα τεστ ένα σαφές σημείο για αντικατάσταση με ασφαλή υλοποίηση.
Βήμα 6: Σχεδίαση της Σελίδας Προβολέα
Ο προβολέας πρέπει να έχει αρκετό χώρο για να είναι χρήσιμος. Μια στενή κάρτα περιττών ελέγχων καθιστά δύσκολη την επιθεώρηση μεγάλων φύλλων εργασίας και σχεδίων CAD.
Σχεδιάστε τη σελίδα γύρω από:
- Σταθερό ύψος προβολέα
- Καθαρές καταστάσεις φόρτωσης, κενής και σφάλματος
- Συνοπτικό τίτλο εγγράφου
- Ελέγχους προσβάσιμους μέσω πληκτρολογίου
- Διάταξη που δεν κρύβει σημαντικούς ελέγχους του προβολέα
- Έναν σαφή τρόπο επιστροφής στην γονική ροή εργασίας
Δοκιμάστε με μακριά ονόματα αρχείων, μεγάλο αριθμό σελίδων, πλατιά φύλλα εργασίας, λεπτομερή σχέδια και έγγραφα που αποτυγχάνουν να αποδοθούν. Η κατάσταση σφάλματος δεν πρέπει να αποκαλύπτει διαδρομές διακομιστή, ίχνη εξαιρέσεων ή URLs αποθήκευσης.
Βήμα 7: Διαχείριση Αρχείων και Προσωρινών Δεδομένων
Ορίστε μια πολιτική διατήρησης πριν από την ανάπτυξη. Θεωρήστε το αρχικό αρχείο, τα προσωρινά δεδομένα απόδοσης, τις προσωρινές μνήμες, τις εξαγωγές, τις σημειώσεις και τα logs ξεχωριστά.
Χρήσιμα μέτρα προστασίας περιλαμβάνουν:
- Έναν αποκλειστικό προσωρινό φάκελο με περιορισμένα δικαιώματα
- Μοναδικά ονόματα που δημιουργεί ο διακομιστής
- Καθαρισμό μετά από ολοκληρωμένες και αποτυχημένες συνεδρίες
- Μια προγραμματισμένη διαδικασία για εγκαταλελειμμένα προσωρινά αρχεία
- Ποσοστιαίες περιορισμούς αποθήκευσης και παρακολούθηση
- Κρυπτογράφηση κατά την αποθήκευση όπου απαιτείται από την πολιτική ασφαλείας σας
Κάντε τον καθαρισμό παρατηρήσιμο. Αν η διαγραφή αποτυγχάνει σιωπηρά, τα προσωρινά αρχεία μπορούν να συσσωρευτούν και να γίνουν τόσο λειτουργικό όσο και ασφαλιστικό πρόβλημα.
Βήμα 8: Διαμόρφωση Παραγωγικών Μέτρων Ασφαλείας
Η απόδοση εγγράφων μπορεί να καταναλώνει CPU, μνήμη και προσωρινό χώρο δίσκου. Προστατέψτε την εφαρμογή με ρητά όρια:
- Μέγιστο μέγεθος μεταφόρτωσης
- Μέγιστος αριθμός ταυτόχρονων εργασιών απόδοσης
- Χρονικά όρια αιτήματος και επεξεργασίας
- Όρια ουράς όταν η απόδοση εκτελείται ασύγχρονα
- Ποσοστιαία όρια προσωρινής αποθήκευσης
- Ελέγχους υγείας και δομημένη παρακολούθηση σφαλμάτων
Για μεγάλα ή απρόβλεπτα φορτία, απομονώστε την απόδοση από τις διαδικασίες της εφαρμογής που είναι ευαίσθητες στην καθυστέρηση. Μετρήστε με έγγραφα που προσομοιώνουν πελάτες αντί να βασίζεστε μόνο σε μικρά δοκιμαστικά αρχεία.
Βήμα 9: Δοκιμή της Πλήρους Ροής Εργασίας
Μια επιτυχημένη δοκιμή ενσωμάτωσης πρέπει να καλύπτει περισσότερο από το «εμφανίστηκε η πρώτη σελίδα».
Δοκιμάστε:
- Κάθε απαιτούμενη μορφή αρχείου
- Μικρά, μεγάλα, πολυσελιδικά και κατεστραμμένα αρχεία
- Έγγραφα με σπάνιες γραμματοσειρές
- Αρχεία με κωδικό πρόσβασης όταν η ροή εργασίας σας τα υποστηρίζει
- Εξουσιοδοτημένους και μη εξουσιοδοτημένους χρήστες
- Ταυτόχρονες συνεδρίες προβολής
- Επανεκκινήσεις εφαρμογής και διακοπές αιτήματος
- Καθαρισμό μετά από επιτυχία και αποτυχία
- Λειτουργίες του προβολέα που περιλαμβάνονται στη διαμόρφωση του επιλεγμένου προϊόντος σας
Διατηρήστε μια εκδοτική συλλογή εξαγορευμένων δοκιμαστικών εγγράφων. Επαναλάβετε τη διαδικασία όταν αναβαθμίζετε το Doconut, το .NET, το Windows Server, την υποδομή αποθήκευσης ή σχετικές εξαρτήσεις.
Λίστα Ελέγχου Ασφαλείας
Πριν την κυκλοφορία, επιβεβαιώστε ότι:
- Κάθε αίτημα προβολής απαιτεί πιστοποίηση όπου είναι απαραίτητο.
- Η εξουσιοδότηση ελέγχεται για το συγκεκριμένο έγγραφο.
- Η είσοδος που ελέγχεται από τον χρήστη δεν μπορεί να γίνει απεριόριστη διαδρομή αρχείου του διακομιστή.
- Τα διαπιστευτήρια αποθήκευσης δεν φτάνουν ποτέ στον πελάτη.
- Οι περιορισμοί μεταφόρτωσης και η επικύρωση είναι ενεργοποιημένα.
- Τα προσωρινά αρχεία έχουν περιορισμένη πρόσβαση και δοκιμαστική πολιτική καθαρισμού.
- Τα logs εξαιρούν το περιεχόμενο των εγγράφων, μυστικά και ευαίσθητα URLs.
- Τα μηνύματα σφάλματος που εμφανίζονται στους χρήστες είναι αποκατεστημένα.
- Τα στοιχεία ελέγχου του SDK μπορούν να υποστηρίξουν τη ροή εργασίας σας, αλλά δεν μπορούν να αποτρέψουν κάθε μορφή σύλληψης μόλις οι πληροφορίες είναι ορατές σε εξουσιοδοτημένο χρήστη. Χρησιμοποιήστε τα μαζί με ελέγχους πρόσβασης και μια κατάλληλη πολιτική προστασίας πληροφοριών.
Πού Τοποθετείται το Doconut
Το Doconut παρέχει τη δυνατότητα προβολής εγγράφων μέσα στην .NET εφαρμογή, ενώ η δική σας εφαρμογή παραμένει υπεύθυνη για την ταυτότητα, την εξουσιοδότηση, την αποθήκευση αρχείων, τη διατήρηση, την καταγραφή και τη συνοδευτική ροή εργασίας.
Αυτή η κατανομή ευθυνών δίνει στις ομάδες .NET ένα πρακτικό μονοπάτι για την υποστήριξη επιχειρηματικών εγγράφων χωρίς την ανάγκη δημιουργίας πολλαπλών μηχανών απόδοσης από την αρχή. Επίσης, διατηρεί τις λεπτομέρειες ενσωμάτωσης του προϊόντος δεσμευμένες στην επίσημη τεκμηρίωση για την έκδοση που αναπτύσσετε.
Εξερευνήστε το SDK προβολέα εγγράφων .NET της Doconut, έπειτα χρησιμοποιήστε τους επίσημους πόρους λήψης και τεκμηρίωσης για να το αξιολογήσετε με τα δικά σας έγγραφα.
Συμπέρασμα
Ένας αξιόπιστος ενσωματωμένος προβολέας εγγράφων ξεκινά με σαφείς απαιτήσεις μορφής και μια ασφαλή ροή εγγράφων στο διακομιστή. Επικυρώστε τις εισόδους, εξουσιοδοτήστε κάθε αίτημα εγγράφου, απομονώστε την πρόσβαση στο SDK πίσω από μια υπηρεσία εφαρμογής, σχεδιάστε τον καθαρισμό προσωρινών αρχείων και δοκιμάστε με ρεαλιστικά αρχεία.
Με αυτές τις βάσεις, το Doconut μπορεί να παρέχει το στρώμα προβολής για την Windows‑based .NET web εφαρμογή σας, ενώ η ομάδα σας διατηρεί τον έλεγχο της αρχιτεκτονικής της εφαρμογής και του κύκλου ζωής των εγγράφων.