Προβολέας DOCX στο ASP.NET Core: Προεπισκόπηση Αρχείων Word
← Back to Blog••6 min read

Προβολέας DOCX στο ASP.NET Core: Προεπισκόπηση Αρχείων Word

Για να προεπισκοπήσετε ένα έγγραφο Word μέσα σε μια εφαρμογή ASP.NET Core, χρησιμοποιήστε ένα SDK προβολέα DOCX που αποδίδει το αρχείο στον διακομιστή και εμφανίζει τις σελίδες του στο πρόγραμμα περιήγησης. Το Doconut παρέχει αυτή τη ροή εργασίας χωρίς να απαιτείται το Microsoft Word στον διακομιστή. Οι χρήστες σας μπορούν να διαβάσουν ένα συμβόλαιο, μια πρόταση ή μια αναφορά μέσα στην εφαρμογή σας αντί να ανοίξουν ξεχωριστό πρόγραμμα επιφάνειας εργασίας.

Η χρήσιμη ερώτηση είναι τι συμβαίνει όταν αντικαταστήσετε το δείγμα αρχείο με τα δικά σας έγγραφα. Ένα συμβόλαιο μπορεί να περιέχει προσαρμοσμένες γραμματοσειρές, επαναλαμβανόμενες κεφαλίδες, ευρείς πίνακες και σελίδες υπογραφής. Αυτός ο οδηγός δείχνει το βήμα ανοίγματος εγγράφου για μια εφαρμογή .NET 8 και τους ελέγχους που σας βοηθούν να αξιολογήσετε το αποτέλεσμα.

Άνοιγμα αρχείου DOCX από C#

Ξεκινήστε με τη γρήγορη εκκίνηση .NET 8 του Doconut για να ρυθμίσετε τις υπηρεσίες, τη συνεδρία ASP.NET, το middleware εγγράφων, τους πόρους προβολέα και το widget του προγράμματος περιήγησης. Το παρακάτω endpoint επεκτείνει την ήδη διαμορφωμένη εφαρμογή· δεν αποτελεί πλήρη αυτόνομη εφαρμογή.

Τοποθετήστε ένα μη ευαίσθητο δοκιμαστικό έγγραφο στο App_Data/Sample.docx κάτω από τη ρίζα περιεχομένου της εφαρμογής. Προσθέστε αυτό το endpoint πριν από το app.Run():

using Doconut;

app.MapPost("/api/preview-word", async (
    Viewer viewer,
    IWebHostEnvironment environment) =>
{
    var filePath = Path.Combine(
        environment.ContentRootPath, "App_Data", "Sample.docx");

    if (!File.Exists(filePath))
        return Results.NotFound();

    var token = await viewer.OpenDocumentAsync(filePath);
    return Results.Ok(new { token });
});

Διατηρήστε τη δήλωση using μαζί με τις άλλες εισαγωγές στην κορυφή του Program.cs. Η σταθερή διαδρομή καθιστά το παράδειγμα εύκολο στην αναπαραγωγή και αποτρέπει την αποδοχή αυθαίρετης διαδρομής διακομιστή από το πρόγραμμα περιήγησης.

Η αναφορά API Viewer τεκμηριώνει την υπερφόρτωση OpenDocumentAsync με διαδρομή αρχείου. Ανοίγει το αρχείο και επιστρέφει ένα διακριτικό συνεδρίας εγγράφου. Στη σελίδα όπου το quick start έχει ήδη αρχικοποιήσει το objViewer, ανοίξτε την προεπισκόπηση με:

async function previewWordDocument() {
    const response = await fetch('/api/preview-word', {
        method: 'POST'
    });

    if (!response.ok) {
        throw new Error('The Word preview could not be opened.');
    }

    const { token } = await response.json();
    objViewer.View(token);
}

Καλέστε αυτή τη συνάρτηση από τη δράση προεπισκόπησης της σελίδας σας και εμφανίστε τυχόν σφάλμα μέσω του υπάρχοντος UI σφαλμάτων της εφαρμογής. Διατηρήστε το αίτημα στην ίδια προέλευση της εφαρμογής όπως ο προβολέας σε αυτό το παράδειγμα.

Διατήρηση πρόσβασης εγγράφου υπό έλεγχο της εφαρμογής

Σε μια πύλη πελατών, αντικαταστήστε το σταθερό δείγμα με μια εγγραφή εγγράφου που έχει επιλεχθεί από την εφαρμογή σας. Ελέγξτε ότι ο τρέχων χρήστης μπορεί να δει αυτήν την εγγραφή πριν εντοπίσετε τη θέση αποθήκευσης και την ανοίξετε. Ένα όνομα αρχείου που λαμβάνεται από το πρόγραμμα περιήγησης δεν αποτελεί απόφαση εξουσιοδότησης.

Αποθηκεύστε τα προστατευμένα πρωτότυπα εκτός του δημόσιου ριζικού φακέλου web. Ο φάκελος App_Data του παραδείγματος είναι μια σύμβαση αποθήκευσης, όχι ένα χαρακτηριστικό ελέγχου πρόσβασης· μην τον εκθέτετε μέσω χάρτη στατικών αρχείων. Διατηρήστε την αυθεντικοποίηση και τα δικαιώματα εγγράφων στην εφαρμογή φιλοξενίας.

Το πρόγραμμα περιήγησης λαμβάνει ένα διακριτικό προβολής για τη συνεδρία του εγγράφου. Θεωρήστε αυτό το διακριτικό ως διαπιστευτήριο αντί για μόνιμη διεύθυνση URL εγγράφου. Η γρήγορη εκκίνηση καλύπτει επίσης το κλείσιμο ενός εγγράφου όταν ο αναγνώστης φεύγει ή ανοίγει άλλο αρχείο.

Δοκιμή διάταξης Word με αντιπροσωπευτικά αρχεία

Ένα κενό DOCX αποδεικνύει λίγα για τα έγγραφα που χρησιμοποιούν οι πελάτες σας. Δημιουργήστε ένα μικρό σύνολο αξιολόγησης από τα πραγματικά πρότυπα που η εφαρμογή σας πρέπει να εμφανίζει, αφαιρώντας ευαίσθητες πληροφορίες.

Έγγραφο δοκιμήςΤι να ελέγξετε στην προεπισκόπηση
Συμβόλαιο με κεφαλίδες και υποσέλιδαΕπαναλαμβανόμενο περιεχόμενο, αριθμοί σελίδων και τοποθέτηση σελίδας υπογραφής
Πρόταση με εταιρική γραμματοσειράΑντικατάσταση γραμματοσειράς, αναδίπλωση γραμμών και πλάτη κεφαλίδων
Αναφορά με ευρείς ή ένθετους πίνακεςΠλάτη στηλών, διαίρεση γραμμών και κείμενο που κόβεται στα όρια της σελίδας
Έγγραφο με ενότητες πορτραίτου και τοπίουΔιαστάσεις σελίδας και η μετάβαση μεταξύ ενοτήτων
Εγχειρίδιο με πολλές εικόνεςΤοποθέτηση εικόνων, λεζάντες και αναγνωσιμότητα όταν μεγεθύνεται

Συγκρίνετε το αποδοθέν αποτέλεσμα με το εγκεκριμένο πηγαίο έγγραφο. Αποφασίστε ποιες διαφορές έχουν σημασία για τη ροή εργασίας σας πριν προχωρήσετε στην ενσωμάτωση.

Το Doconut εκθέτει ρυθμίσεις απόδοσης ειδικές για Word μέσω του WordConfig. Η αναφορά διαμόρφωσης μορφής περιλαμβάνει FontFolders για πρόσθετους φακέλους γραμματοσειρών, ρυθμίσεις μεγέθους χαρτιού και AutoFitAllTables για προσαρμογή πινάκων. Αλλάξτε αυτά τα στοιχεία σκόπιμα: η προσαρμογή ενός πίνακα στο διαθέσιμο πλάτος μπορεί επίσης να αλλάξει τη διάταξη που προσπαθείτε να διατηρήσετε.

Επαναλάβετε τους ελέγχους στον διακομιστή ανάπτυξης. Μια προεπισκόπηση που χρησιμοποιεί γραμματοσειρά εγκατεστημένη στο μηχάνημα ενός προγραμματιστή μπορεί να φαίνεται διαφορετικά όταν αυτή η γραμματοσειρά λείπει από τον διακομιστή. Χρησιμοποιήστε γραμματοσειρές που η οργάνωσή σας επιτρέπεται να αναπτύξει.

Επιλέξτε προβολή, επεξεργασία και μετατροπή ξεχωριστά

Μια προεπισκόπηση DOCX λύνει το βήμα ανάγνωσης. Δεν μετατρέπει την εφαρμογή σας σε περιβάλλον συγγραφής Word.

  • Ανάγνωση: χρησιμοποιήστε τον προβολέα όταν κάποιος χρειάζεται να ελέγξει ένα υπάρχον έγγραφο μέσα σε μια υπόθεση, παραγγελία ή εγγραφή πελάτη.
  • Επεξεργασία: εάν οι χρήστες πρέπει να ξαναγράψουν παραγράφους και να αποθηκεύσουν ένα ενημερωμένο DOCX, αξιολογήστε ξεχωριστά μια ροή εργασίας επεξεργασίας. Η προεπισκόπηση ενός αρχείου δεν αποτελεί απόδειξη υποστήριξης επεξεργασίας Word.
  • Μετατροπή: εάν η απαίτηση είναι ένα αρχείο προς λήψη σε άλλη μορφή, αξιολογήστε αυτή τη ροή εξαγωγής ξεχωριστά από την προβολή σελίδων.

Η επισκόπηση Word viewer για .NET περιγράφει τη διαδρομή προβολής της οικογένειας Word του Doconut. Χρησιμοποιήστε την για να ελέγξετε την καταλληλότητα του προϊόντος, στη συνέχεια χρησιμοποιήστε τα δικά σας αρχεία για να αξιολογήσετε τη συμπεριφορά απόδοσης που έχει σημασία για την εφαρμογή σας.

Αξιολόγηση του προβολέα με το πιο δύσκολο έγγραφό σας πρώτα

Ξεκινήστε με ένα έγγραφο που ήδη προκαλεί αιτήματα υποστήριξης: ένα μακρύ συμβόλαιο, μια αναφορά με πολλούς πίνακες ή ένα πρότυπο με ασυνήθιστες γραμματοσειρές. Ελέγξτε την προεπισκόπηση, περιηγηθείτε σε πολλές σελίδες, ανοίξτε το ξανά σε νέα συνεδρία και βεβαιωθείτε ότι η περιβάλλουσα εφαρμογή επιβάλλει τα σωστά δικαιώματα εγγράφου.

Λήψη Doconut και εκτελέστε το δείγμα .NET 8 με αυτό το αρχείο. Μια επιτυχής αξιολόγηση θα πρέπει να δείξει ότι οι χρήστες μπορούν να διαβάσουν τα έγγραφα που λαμβάνουν πραγματικά, με διάταξη που η ομάδα σας έχει ελέγξει και ενσωμάτωση που η εφαρμογή σας μπορεί να διατηρήσει.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#Προβολέας DOCX#Έγγραφα Word#Προεπισκόπηση Εγγράφου