Δουλεύοντας με Υδατογραφήματα
Εργασία με Υδατογραφήματα
Αυτός ο οδηγός δείχνει πώς να προσθέτετε, να ρυθμίζετε και να αφαιρείτε υδατογραφήματα εγγράφων σε Aspose.Words FOSS για .NET χρησιμοποιώντας το Watermark κλάση, προσεγγίζεται μέσω Document.Watermark. Ένα υδατογράφημα μπορεί να είναι κείμενο ή εικόνα, και μόνο ένα υδατογράφημα είναι ενεργό σε ένα έγγραφο τη δεδομένη στιγμή – η ρύθμιση ενός νέου αντικαθιστά ό,τι υπήρχε προηγουμένως.
Προσθήκη Υδατογραφήματος Κειμένου
Watermark.SetText(text) προσθέτει ένα υδατογράφημα κειμένου με προεπιλεγμένη μορφοποίηση. Η υπερφόρτωση SetText(text, options) δέχεται ένα παράδειγμα TextWatermarkOptions για να ελέγξει την εμφάνισή του: FontFamily, Color και FontSize ελέγχουν τη μορφοποίηση του κειμένου, IsSemitrasparent ενεργοποιεί το ημι-διαφανές εφέ που είναι χαρακτηριστικό των υδατογραφημάτων, και Layout (μια τιμή WatermarkLayout — Horizontal ή Diagonal) ελέγχει τον προσανατολισμό του σε σχέση με τη σελίδα.
Προσθήκη Υδατογραφήματος Εικόνας
Watermark.SetImage(image) προσθέτει ένα υδατογράφημα εικόνας από ένα ήδη φορτωμένο Image. Οι υπερφορτώσεις που δέχονται επίσης ένα παράδειγμα ImageWatermarkOptions — SetImage(image, options), SetImage(imagePath, options) (φόρτωση από διαδρομή αρχείου), και SetImage(imageStream, options) (φόρτωση από Stream) — σας επιτρέπουν να ελέγξετε το Scale (ο συντελεστής κλίμακας της εικόνας, εκφρασμένος ως κλάσμα) και το IsWashout (το ξεθωριασμένο εφέ που αποτρέπει ένα υδατογράφημα εικόνας από το να κυριαρχεί στο περιεχόμενο της σελίδας).
Έλεγχος και Αφαίρεση Υδατογραφήματος
Watermark.Type αναφέρει τον τρέχοντα τύπο υδατογραφίας ως τιμή WatermarkType – Text, Image ή None εάν δεν έχει οριστεί υδατογραφία. Καλέστε το Watermark.Remove() για να αφαιρέσετε την τρέχουσα υδατογραφία από το έγγραφο.
Συμβουλές και Καλές Πρακτικές
- Ελέγξτε το
Watermark.Typeπριν υποθέσετε ότι υπάρχει υδατογραφία – επιστρέφειWatermarkType.Noneσε έγγραφο που δεν έχει ποτέ οριστεί. - Η δημιουργία νέας υδατογραφίας μέσω του
SetText()ή τουSetImage()αντικαθιστά οποιαδήποτε υπάρχουσα υδατογραφία· δεν υπάρχει τρόπος να υπάρχει περισσότερη από μία ενεργή υδατογραφία τη φορά. - Χρησιμοποιήστε το
WatermarkLayout.Diagonalγια να αναπαραγάγετε την προεπιλεγμένη διαγώνια προσανατολισμό υδατογραφίας του Word, ή τοHorizontalγια μια υδατογραφία που τρέχει παράλληλα με τις άκρες της σελίδας. - Προτιμήστε τις υπερφορτώσεις
ImageWatermarkOptions/TextWatermarkOptionsαντί για τις απλές κλήσειςSetImage(image)/SetText(text)όποτε χρειάζεστε έλεγχο της διαφάνειας, της κλίμακας ή της γραμματοσειράς – οι υπερφορτώσεις χωρίς παραμέτρους χρησιμοποιούν τις προεπιλογές του Word.
Συνηθισμένα Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
| Ένα νέο υδατογράφημα δεν εμφανίζεται δίπλα στο παλιό | SetText()/SetImage() αντικαθιστά το υπάρχον υδατογράφημα αντί να προσθέτει ένα δεύτερο | Κλήστε το Remove() πρώτα μόνο αν χρειάζεται να το διαγράψετε πριν ορίσετε διαφορετικό τύπο· διαφορετικά η αντικατάσταση είναι αυτόματη |
| Ένα υδατογράφημα εικόνας κατακλύζει το περιεχόμενο της σελίδας | Το ImageWatermarkOptions.IsWashout έμεινε απενεργοποιημένο | Ορίστε το IsWashout σε true κατά τη δημιουργία του ImageWatermarkOptions |
| Η γραμματοσειρά του κειμενικού υδατογραφήματος δεν ταιριάζει με την επιθυμητή γραμματομορφή | Το TextWatermarkOptions.FontFamily δεν είχε οριστεί (ή είχε ορθογραφικό λάθος) | Ορίστε το FontFamily σε ένα όνομα γραμματοσειράς που είναι διαθέσιμο στο περιβάλλον απόδοσης |
FAQ
Πώς μπορώ να ελέγξω αν ένα έγγραφο έχει ήδη υδατογράφημα;
Διαβάστε Document.Watermark.Type; επιστρέφει WatermarkType.Text, WatermarkType.Image ή WatermarkType.None.
Πώς μπορώ να αφαιρέσω ένα υδατογράφημα;
Καλέστε το Document.Watermark.Remove().
Μπορώ να ελέγξω τη διαφάνεια του υδατογραφήματος;
Ναι – για υδατογραφήματα κειμένου, ορίστε TextWatermarkOptions.IsSemitrasparent; για υδατογραφήματα εικόνας, ορίστε ImageWatermarkOptions.IsWashout.
Πώς μπορώ να φορτώσω ένα υδατογράφημα εικόνας από το δίσκο αντί για ένα Image στη μνήμη;
Χρησιμοποιήστε την υπερφόρτωση Watermark.SetImage(imagePath, options), περνώντας τη διαδρομή του αρχείου ως συμβολοσειρά μαζί με ένα στιγμιότυπο ImageWatermarkOptions.
API Reference Περίληψη
| Κλάση / Enum | Περιγραφή |
|---|---|
Watermark | Υδατογράφημα εγγράφου, μέσω Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | Enum που προσδιορίζει τον τρέχοντα τύπο υδατογραφίας: Text, Image, None |
WatermarkLayout | Enum για προσανατολισμό υδατογραφίας: Horizontal, Diagonal |
TextWatermarkOptions | Μορφοποίηση κειμένου υδατογραφίας: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Επιλογές εικόνας υδατογραφίας: Scale, IsWashout |