Προσθήκη Υδατογραφημάτων σε Παρουσιάσεις σε .NET
Εισαγωγή
Υδατογράφημα σε μια παρουσίαση είναι ένα κείμενο ή σήμα εικόνας που χρησιμοποιείται σε μια διαφάνεια ή σε όλες τις διαφάνειες της παρουσίασης. Συνήθως, ένα υδατογράφημα χρησιμοποιείται για να υποδηλώσει ότι η παρουσίαση είναι πρόχειρο (π.χ., υδατογράφημα «Πρόχειρο»), ότι περιέχει εμπιστευτικές πληροφορίες (π.χ., υδατογράφημα «Εμπιστευτικό»), για να καθοριστεί η εταιρεία στην οποία ανήκει (π.χ., υδατογράφημα «Όνομα Εταιρείας»), για την ταυτοποίηση του συντάκτη της παρουσίασης κ.λπ. Ένα υδατογράφημα βοηθά στην αποτροπή παραβίασης πνευματικών δικαιωμάτων, υποδεικνύοντας ότι η παρουσίαση δεν πρέπει να αντιγραφεί. Τα υδατογραφήματα χρησιμοποιούνται τόσο στις μορφές παρουσίασης PowerPoint όσο και OpenDocument. Στο Aspose.Slides, μπορείτε να προσθέσετε υδατογράφημα σε αρχεία PowerPoint PPT, PPTX και OpenDocument ODP.
Στο Aspose.Slides, υπάρχουν διάφοροι τρόποι για να δημιουργήσετε υδατογραφήματα σε έγγραφα PowerPoint ή OpenDocument και να τροποποιήσετε το σχεδιασμό και τη συμπεριφορά τους. Το κοινό στοιχείο είναι ότι για την προσθήκη υδατογραφημάτων κειμένου, πρέπει να χρησιμοποιήσετε το interface ITextFrame, ενώ για την προσθήκη υδατογραφημάτων εικόνας, χρησιμοποιήστε την κλάση PictureFrame ή γεμίστε ένα σχήμα υδατογραφήματος με εικόνα. Η PictureFrame υλοποιεί το interface IShape , επιτρέποντάς σας να χρησιμοποιήσετε όλες τις ευέλικτες ρυθμίσεις του αντικειμένου σχήματος. Εφόσον το ITextFrame δεν είναι σχήμα και οι ρυθμίσεις του είναι περιορισμένες, τυλίγεται σε ένα αντικείμενο IShape.
Υπάρχουν δύο τρόποι εφαρμογής ενός υδατογραφήματος: σε μια μεμονωμένη διαφάνεια ή σε όλες τις διαφάνειες της παρουσίασης. Ο Δάσκαλος Διαφάνειας (Slide Master) χρησιμοποιείται για την εφαρμογή υδατογραφήματος σε όλες τις διαφάνειες — το υδατογράφημα προστίθεται στον Δάσκαλο Διαφάνειας, σχεδιάζεται πλήρως εκεί και εφαρμόζεται σε όλες τις διαφάνειες χωρίς να επηρεάζει την άδεια τροποποίησης του υδατογραφήματος σε μεμονωμένες διαφάνειες.
Ένα υδατογράφημα θεωρείται συνήθως μη επεξεργάσιμο από άλλους χρήστες. Για να αποτρέψετε την επεξεργασία του υδατογραφήματος (ή πιο συγκεκριμένα του γονικού σχήματος του), το Aspose.Slides παρέχει λειτουργία κλειδώματος σχήματος. Ένα συγκεκριμένο σχήμα μπορεί να κλειδωθεί σε μια κανονική διαφάνεια ή σε έναν Δάσκαλο Διαφάνειας. Όταν το σχήμα του υδατογραφήματος κλειδώνεται στον Δάσκαλο Διαφάνειας, κλειδώνεται σε όλες τις διαφάνειες της παρουσίασης.
Μπορείτε να ορίσετε ένα όνομα για το υδατογράφημα ώστε στο μέλλον, εάν θέλετε να το διαγράψετε, να το βρείτε μεταξύ των σχημάτων της διαφάνειας με βάση το όνομα.
Μπορείτε να σχεδιάσετε το υδατογράφημα με οποιονδήποτε τρόπο· ωστόσο, συνήθως υπάρχουν κοινά χαρακτηριστικά στα υδατογραφήματα, όπως κεντρική στοίχιση, περιστροφή, θέση εμπρός κ.λπ. Θα εξετάσουμε πώς να τα χρησιμοποιήσουμε στα παραδείγματα παρακάτω.
Υδατογράφημα κειμένου
Προσθήκη υδατογραφήματος κειμένου σε μια διαφάνεια
Για να προσθέσετε υδατογράφημα κειμένου σε PPT, PPTX ή ODP, πρώτα μπορείτε να προσθέσετε ένα σχήμα στη διαφάνεια, έπειτα να προσθέσετε ένα πλαίσιο κειμένου σε αυτό το σχήμα. Το πλαίσιο κειμένου αντιπροσωπεύεται από το interface ITextFrame. Αυτός ο τύπος δεν κληρονομείται από το IShape, το οποίο διαθέτει ένα ευρύ σύνολο ιδιοτήτων για την τοποθέτηση του υδατογραφήματος με ευέλικτο τρόπο. Συνεπώς, το αντικείμενο ITextFrame τυλίγεται σε ένα αντικείμενο IAutoShape. Για να προσθέσετε κείμενο υδατογραφήματος στο σχήμα, χρησιμοποιήστε τη μέθοδο AddTextFrame όπως φαίνεται παρακάτω.
string watermarkText = "CONFIDENTIAL";
using Presentation presentation = new Presentation();
ISlide slide = presentation.Slides[0];
// Προσθήκη του υδατογραφήματος στη διαφάνεια.
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 400, 40);
ITextFrame watermarkFrame = watermarkShape.AddTextFrame(watermarkText);
Δείτε επίσης
Προσθήκη υδατογραφήματος κειμένου σε μια παρουσίαση
Εάν θέλετε να προσθέσετε υδατογράφημα κειμένου σε ολόκληρη την παρουσίαση (δηλαδή σε όλες τις διαφάνειες ταυτόχρονα), προσθέστε το στο MasterSlide. Η υπόλοιπη λογική είναι η ίδια όπως όταν προσθέτετε υδατογράφημα σε μια μεμονωμένη διαφάνεια — δημιουργήστε ένα αντικείμενο IAutoShape και, στη συνέχεια, προσθέστε το υδατογράφημα σε αυτό χρησιμοποιώντας τη μέθοδο AddTextFrame.
string watermarkText = "CONFIDENTIAL";
using Presentation presentation = new Presentation();
IMasterSlide masterSlide = presentation.Masters[0];
// Προσθήκη του υδατογραφήματος στη κύρια διαφάνεια.
IAutoShape watermarkShape = masterSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 400, 40);
ITextFrame watermarkFrame = watermarkShape.AddTextFrame(watermarkText);
Δείτε επίσης
Ορισμός διαφάνειας σχήματος υδατογραφήματος
Από προεπιλογή, το ορθογώνιο σχήμα μορφοποιείται με χρώματα γεμίσματος και γραμμής. Αυτό σημαίνει ότι όταν προστίθεται το υδατογράφημα, μπορεί να εμφανιστεί με αμετάβλητο φόντο ή περίγραμμα που ενδέχεται να αποσπά την προσοχή από το περιεχόμενο της διαφάνειας. Για να διασφαλίσετε ότι το υδατογράφημα παραμένει διακριτικό και δεν επηρεάζει το οπτικό στυλ της παρουσίασης, μπορείτε να κάνετε το σχήμα εντελώς διαφανές.
Οι παρακάτω γραμμές κώδικα κάνουν το σχήμα διαφανές αφαιρώντας τόσο το χρώμα γεμίσματος όσο και του περιγράμματος:
watermarkShape.FillFormat.FillType = FillType.NoFill;
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;
Ορισμός γραμματοσειράς για υδατογράφημα κειμένου
Πριν εφαρμόσετε το υδατογράφημα κειμένου στη διαφάνειά σας, είναι σημαντικό να προσαρμόσετε την εμφάνισή του ώστε να εναρμονίζεται με το συνολικό σχεδιασμό. Μπορείτε να αλλάξετε τον τύπο και το μέγεθος της γραμματοσειράς για να εξασφαλίσετε ότι το υδατογράφημα είναι ευανάγνωστο και αισθητικά ευχάριστο. Η προσαρμογή της γραμματοσειράς μπορεί επίσης να συμβάλει στην ενίσχυση της εταιρικής ταυτότητας ή απλώς να ταιριάζει στο στυλ της παρουσίασης.
Το παρακάτω απόσπασμα κώδικα δείχνει πώς να ρυθμίσετε τις παραμέτρους γραμματοσειράς του υδατογραφήματος επιλέγοντας μια συγκεκριμένη λατινική γραμματοσειρά και ορίζοντας το κατάλληλο ύψος γραμματοσειράς:
IPortionFormat textFormat = watermarkFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat;
textFormat.LatinFont = new FontData("Arial");
textFormat.FontHeight = 50;
Ορισμός χρώματος κειμένου υδατογραφήματος
Πριν εφαρμόσετε το υδατογράφημά σας, είναι απαραίτητο να βεβαιωθείτε ότι το χρώμα του κειμένου έχει οριστεί κατάλληλα ώστε να ενσωματώνεται καλά με το περιεχόμενο της διαφάνειας χωρίς να το κυριαρχεί. Η ρύθμιση της διαφάνειας (alpha) του χρώματος μαζί με τα συστατικά κόκκινο, πράσινο και μπλε σας επιτρέπει να δημιουργήσετε ένα διακριτικό, μισοδιαυγές υδατογράφημα που είναι ορατό αλλά μη παρεμβατικό. Αυτή η προσέγγιση βοηθά στη διατήρηση της εστίασης στην κύρια παρουσίαση ενώ ταυτόχρονα προστατεύει το περιεχόμενό σας.
Για να ορίσετε το χρώμα του κειμένου του υδατογραφήματος, χρησιμοποιήστε τον παρακάτω κώδικα:
int alpha = 150, red = 200, green = 200, blue = 200;
IFillFormat fillFormat = watermarkFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FillFormat;
fillFormat.FillType = FillType.Solid;
fillFormat.SolidFillColor.Color = Color.FromArgb(alpha, red, green, blue);
Κεντράρισμα υδατογραφήματος κειμένου
Η σωστή κεντραρισμένη θέση του υδατογραφήματος κειμένου μπορεί να βελτιώσει σημαντικά την αισθητική της παρουσίασής σας, εξασφαλίζοντας ότι το υδατογράφημα είναι συμμετρικά τοποθετημένο, ανεξάρτητα από τις διαστάσεις της διαφάνειας. Αυτή η προσέγγιση όχι μόνο δίνει στις διαφάνειες σας επαγγελματική εμφάνιση, αλλά και εξασφαλίζει ότι το υδατογράφημα δεν παρεμβαίνει στο κύριο περιεχόμενο της διαφάνειας.
Το παρακάτω απόσπασμα κώδικα δείχνει πώς να υπολογίσετε τη κεντρική θέση μιας διαφάνειας και να τοποθετήσετε το υδατογράφημα κειμένου ανάλογα:
SizeF slideSize = presentation.SlideSize.Size;
float watermarkWidth = 400;
float watermarkHeight = 40;
float watermarkX = (slideSize.Width - watermarkWidth) / 2;
float watermarkY = (slideSize.Height - watermarkHeight) / 2;
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(
ShapeType.Rectangle, watermarkX, watermarkY, watermarkWidth, watermarkHeight);
ITextFrame watermarkFrame = watermarkShape.AddTextFrame(watermarkText);
Η εικόνα παρακάτω δείχνει το τελικό αποτέλεσμα.

Υδατογράφημα εικόνας
Προσθήκη υδατογραφήματος εικόνας σε μια παρουσίαση
Σε πολλές περιπτώσεις, ένα υδατογράφημα εικόνας μπορεί να προσφέρει ένα μοναδικό στοιχείο branding ή μια πιο οπτικά ελκυστική εναλλακτική λύση σε ένα υδατογράφημα κειμένου. Πριν προσθέσετε το υδατογράφημα, βεβαιωθείτε ότι το αρχείο εικόνας είναι διαθέσιμο (π.χ., PNG για διαφάνεια). Το παρακάτω παράδειγμα δείχνει πώς να φορτώσετε μια εικόνα από το σύστημα αρχείων, να την προσθέσετε στην παρουσίαση και, στη συνέχεια, να την εφαρμόσετε ως υδατογράφημα χρησιμοποιώντας τις ιδιότητες γεμίσματος του σχήματος.
using FileStream imageStream = File.OpenRead("watermark.png");
IPPImage image = presentation.Images.AddImage(imageStream);
watermarkShape.FillFormat.FillType = FillType.Picture;
watermarkShape.FillFormat.PictureFillFormat.Picture.Image = image;
watermarkShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;
Κλείδωμα υδατογραφήματος από επεξεργασία
Εάν είναι απαραίτητο να αποτρέψετε την επεξεργασία ενός υδατογραφήματος, χρησιμοποιήστε την ιδιότητα IAutoShape.ShapeLock στο σχήμα. Με αυτήν την ιδιότητα, μπορείτε να προστατεύσετε το σχήμα από επιλογή, αλλαγή μεγέθους, μετακίνηση, ομαδοποίηση με άλλα στοιχεία, κλείδωμα του κειμένου από επεξεργασία και πολλά άλλα:
// Κλείδωμα του σχήματος υδατογραφήματος από τροποποίηση.
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;
Μεταφορά υδατογραφήματος εμπρός
Στο Aspose.Slides, η σειρά Z των σχημάτων μπορεί να οριστεί μέσω της μεθόδου IShapeCollection.Reorder. Για να το κάνετε αυτό, πρέπει να καλέσετε αυτήν τη μέθοδο από τη λίστα διαφανειών της παρουσίασης και να περάσετε την αναφορά του σχήματος και τον αριθμό σειράς στο μέθοδο. Με αυτόν τον τρόπο, είναι δυνατόν να φέρετε ένα σχήμα εμπρός ή να το στείλετε πίσω στο παρασκήνιο της διαφάνειας. Αυτή η λειτουργία είναι ιδιαίτερα χρήσιμη εάν χρειάζεται να τοποθετήσετε ένα υδατογράφημα μπροστά από το περιεχόμενο της παρουσίασης:
int shapeCount = slide.Shapes.Count;
slide.Shapes.Reorder(shapeCount - 1, watermarkShape);
Ορισμός περιστροφής υδατογραφήματος
Η προσαρμογή της περιστροφής του υδατογραφήματος μπορεί να ενισχύσει σημαντικά την οπτική επίδραση και την διακριτικότητα της παρουσίασής σας. Ένα διαγώνιο υδατογράφημα, για παράδειγμα, μπορεί να είναι λιγότερο ενοχλητικό ενώ εξακολουθεί να παρέχει ισχυρή προστασία έναντι μη εξουσιοδοτημένης χρήσης. Το παρακάτω παράδειγμα υπολογίζει τη σχετική γωνία βάσει των διαστάσεων της διαφάνειας ώστε το υδατογράφημα να τοποθετηθεί διαγώνια σε όλη τη διαφάνεια. Αυτοί οι δυναμικοί υπολογισμοί διασφαλίζουν ότι το υδατογράφημα παραμένει αποτελεσματικό ανεξάρτητα από τις διαφορές μεγέθους των διαφανειών.
double diagonalAngle = Math.Atan((slideSize.Height / slideSize.Width)) * 180 / Math.PI;
watermarkShape.Rotation = (float)diagonalAngle;
Ορισμός ονόματος για υδατογράφημα
Το Aspose.Slides σάς επιτρέπει να ορίσετε το όνομα ενός σχήματος. Χρησιμοποιώντας το όνομα του σχήματος, μπορείτε να το προσπελάσετε στο μέλλον για να το τροποποιήσετε ή να το διαγράψετε. Για να ορίσετε το όνομα του σχήματος υδατογραφήματος, αντιστοιχίστε το στην ιδιότητα IAutoShape.Name:
watermarkShape.Name = "watermark";
Αφαίρεση υδατογραφήματος
Για να αφαιρέσετε το σχήμα του υδατογραφήματος, χρησιμοποιήστε την ιδιότητα IAutoShape.Name για να το βρείτε στα σχήματα της διαφάνειας. Στη συνέχεια, περάστε το σχήμα του υδατογραφήματος στη μέθοδο IShapeCollection.Remove :
List<IShape> slideShapes = slide.Shapes.ToList();
foreach (IShape shape in slideShapes)
{
if (string.Compare(shape.Name, "watermark", StringComparison.Ordinal) == 0)
{
slide.Shapes.Remove(watermarkShape);
}
}
Ζωντανό Παράδειγμα
Μπορεί να θέλετε να εξετάσετε το Aspose.Slides free Add Watermark και Remove Watermark online εργαλεία.

Συχνές Ερωτήσεις
Τι είναι ένα υδατογράφημα και γιατί πρέπει να το χρησιμοποιήσω;
Ένα υδατογράφημα είναι ένα κείμενο ή εικόνα επικάλυψη που εφαρμόζεται στις διαφάνειες για να προστατεύει τη διανοητική ιδιοκτησία, να ενισχύει την αναγνώριση της μάρκας ή να αποτρέπει την μη εξουσιοδοτημένη χρήση των παρουσιάσεων.
Μπορώ να προσθέσω ένα υδατογράφημα σε όλες τις διαφάνειες μιας παρουσίασης;
Ναι, το Aspose.Slides σας επιτρέπει να προσθέσετε προγραμματιστικά ένα υδατογράφημα σε κάθε διαφάνεια μιας παρουσίασης. Μπορείτε να επαναλάβετε τη διαδικασία για όλες τις διαφάνειες και να εφαρμόσετε τις ρυθμίσεις του υδατογραφήματος ξεχωριστά.
Πώς μπορώ να ρυθμίσω τη διαφάνεια του υδατογραφήματος;
Μπορείτε να ρυθμίσετε τη διαφάνεια του υδατογραφήματος τροποποιώντας τις ρυθμίσεις γεμίσματος (FillFormat) του σχήματος. Αυτό διασφαλίζει ότι το υδατογράφημα είναι διακριτικό και δεν αποσπά την προσοχή από το περιεχόμενο της διαφάνειας.
Ποιοι τύποι εικόνας υποστηρίζονται για υδατογραφήματα;
Το Aspose.Slides υποστηρίζει διάφορους τύπους εικόνας όπως PNG, JPEG, GIF, BMP, SVG και άλλα.
Μπορώ να προσαρμόσω τη γραμματοσειρά και το στυλ ενός υδατογραφήματος κειμένου;
Ναι, μπορείτε να επιλέξετε οποιαδήποτε γραμματοσειρά, μέγεθος και στυλ ώστε να ταιριάζει με το σχεδιασμό της παρουσίασής σας και να διατηρεί τη συνοχή της μάρκας.
Πώς αλλάζω τη θέση ή τον προσανατολισμό ενός υδατογραφήματος;
Μπορείτε να προσαρμόσετε τη θέση και τον προσανατολισμό του υδατογραφήματος προγραμματιστικά, τροποποιώντας τις συντεταγμένες, το μέγεθος και τις ιδιότητες περιστροφής του σχήματος.