Εργασία με Enums

Εργασία με Enums

Εργασία με Enums

Aspose.PDF FOSS για .NET χρησιμοποιεί έντονα-τυποποιημένα enums σε όλο το API του για να ρυθμίσει τη συμπεριφορά του εγγράφου, την εμφάνιση της σελίδας και τις μορφές μετατροπής. Αντί για μαγικές συμβολοσειρές ή ακέραιους, οι περισσότερες επιφάνειες διαμόρφωσης — από το πώς ένας προβολέας PDF ανοίγει ένα αρχείο μέχρι τη μορφή στην οποία ένα Document αποθηκεύεται ως — εκφράζονται ως τιμές enum. Αυτή η σελίδα παρουσιάζει τους τύπους enum που θα συναντήσετε πιο συχνά καθώς εργάζεστε με τη βιβλιοθήκη. Είναι μια επιμελημένη εισαγωγή, όχι ένας εξαντλητικός κατάλογος· για τον πλήρη κατάλογο των τύπων enum και κάθε τιμή μέλους, δείτε το API Reference.


Προβολή Σελίδας και Διάταξη

PageMode και PageLayout είναι ιδιότητες στο Document που ελέγχουν πώς ένας προβολέας PDF παρουσιάζει το έγγραφο όταν ανοίγει για πρώτη φορά — είτε εμφανίζει περιγράμματα, μικρογραφίες ή μια συγκεκριμένη διάταξη στηλών.

using var doc = Document.Open("input.pdf");

// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;

// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;

doc.Save("output.pdf");

Μοντέλο Χρώματος Σελίδας

ColorType περιγράφει το χρωματικό μοντέλο μιας σελίδας — RGB, CMYK, κλίμακα του γκρι κ.λπ. Εμφανίζεται τόσο στο Page όσο και στο Color, επιτρέποντάς σας να διακλαδώνετε τη λογική ανάλογα με το πώς αποδίδεται το περιεχόμενο σε μια σελίδα.

using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];

if (page.ColorType == ColorType.Grayscale)
{
    // Apply grayscale-specific handling, e.g. skip color-profile conversion
}

Alignment

Πολλές κλάσεις εκθέτουν το HorizontalAlignment και το VerticalAlignment για την τοποθέτηση του περιεχομένου στη σελίδα, ενώ οι κλάσεις σχολιασμού προσθέτουν το TextAlignment και το Justification για ευθυγράμμιση κειμένου μέσα σε ένα πλαίσιο. Το Table, για παράδειγμα, εκθέτει άμεσα και τους δύο άξονες ευθυγράμμισης.

var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;

page.Paragraphs.Add(table);

FreeTextAnnotation (και ο βασικός τύπος Annotation) εκθέτει επιπλέον το Justification και το TextAlignment για το κείμενο μέσα στο σχόλιο:

if (page.Annotations[1] is FreeTextAnnotation freeText)
{
    freeText.Justification = Justification.Center;
    freeText.Alignment = TextAlignment.Right;
}

Μορφές Φόρτωσης και Αποθήκευσης

LoadFormat προσδιορίζει τη μορφή προέλευσης πίσω από μια υποκλάση LoadOptions (για παράδειγμα, το HtmlLoadOptions.LoadFormat είναι πάντα LoadFormat.HTML), ενώ το SaveFormat επιλέγει τη μορφή εξόδου κατά την κλήση του Document.Save.

var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);

doc.Save("output.html", SaveFormat.Html);

Περιστροφή Σελίδας

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

var page = doc.Pages[1];
page.Rotate = Rotation.on90;

Συμβουλές και Καλές Πρακτικές

  • Προτιμήστε τις υπερφορτώσεις enum αντί για τις υπερφορτώσεις βασισμένες σε συμβολοσειρές ή ακέραιους όπου και οι δύο υπάρχουν — εντοπίζουν άκυρες τιμές κατά τη μεταγλώττιση.
  • Ταιριάξτε το SaveFormat με την επέκταση αρχείου που περνάτε στο Document.Save; μια ασυμφωνία παράγει ένα αρχείο με παραπλανητικό περιεχόμενο ή μη χρησιμοποιήσιμη επέκταση.
  • Χρησιμοποιήστε την υποκατηγορία LoadOptions που αντιστοιχεί στη μορφή πηγής σας (π.χ. HtmlLoadOptions για HTML) αντί να βασίζεστε μόνο στην αυτόματη ανίχνευση μορφής.
  • Ορίστε τα HorizontalAlignment και VerticalAlignment μαζί όταν τοποθετείτε πίνακες ή παραγράφους — η διατήρηση ενός από τα δύο στην προεπιλογή μπορεί να προκαλέσει απροσδόκητη τοποθέτηση.
  • Αντιμετωπίστε το ColorType ως περιγραφικό, όχι καθοδηγητικό: αναφέρει πώς το χρωματικό περιεχόμενο μιας σελίδας μοντελοποιείται αυτή τη στιγμή, όχι ως ρύθμιση που ενεργοποιείτε/απενεργοποιείτε για να μετατρέψετε χρωματικούς χώρους.

Κοινά Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
Το αποθηκευμένο αρχείο έχει λανθασμένο περιεχόμενο για την επέκτασή τουΛανθασμένη τιμή SaveFormat που πέρασε στο Document.SaveΠεράστε την τιμή SaveFormat που ταιριάζει με την επέκταση του αρχείου-στόχου
Το φορτωμένο HTML/XML/etc. περιεχόμενο εμφανίζεται λανθασμέναΓενικό LoadOptions χρησιμοποιείται αντί της υποκατηγορίας ειδικής μορφήςΧρησιμοποιήστε την υποκατηγορία που ταιριάζει με τη μορφή προέλευσης, π.χ. HtmlLoadOptions
Ο πίνακας ή η σημείωση εμφανίζονται μη ευθυγραμμισμένα στη σελίδαHorizontalAlignment/VerticalAlignment παραμένουν στις προεπιλογές τουςΟρίστε ρητά και τις δύο ιδιότητες πριν προσθέσετε το αντικείμενο στο Paragraphs
Το PDF ανοίγει με απροσδόκητη συμπεριφορά του προβολέα (χωρίς πίνακα περιεχομένων, λανθασμένη διάταξη στηλών)Document.PageMode/Document.PageLayout δεν ορίζονται ποτέΟρίστε και τις δύο ιδιότητες πριν καλέσετε το Document.Save

FAQ

Ποια είναι η διαφορά μεταξύ PageMode και PageLayout;

Το PageMode ελέγχει την κατάσταση του UI του προβολέα κατά το άνοιγμα (π.χ. αν το πλαίσιο περιγράμματος ή το πάνελ μικρογραφιών είναι ορατό), ενώ το PageLayout ελέγχει τον τρόπο διάταξης των σελίδων (μονή σελίδα, μία στήλη, δύο στήλες κ.λπ.).

Πώς ξέρω ποια τιμή SaveFormat να χρησιμοποιήσω;

Επιλέξτε την τιμή SaveFormat που ταιριάζει με τον τύπο αρχείου εξόδου που θέλετε — για παράδειγμα, SaveFormat.Html για έξοδο HTML ή SaveFormat.Pdf για επαναφόρτωση ως PDF.

Μπορώ να ορίσω και τα δύο HorizontalAlignment και VerticalAlignment στο ίδιο αντικείμενο;

Ναι. Κλάσεις όπως η Table εκθέτουν και τις δύο ιδιότητες ανεξάρτητα, ώστε να μπορείτε να τις συνδυάσετε για να τοποθετήσετε το περιεχόμενο σε οποιονδήποτε άξονα.

Μπορεί το ColorType να με επιτρέψει να μετατρέψω το χρωματικό χώρο μιας σελίδας;

Όχι. Το ColorType αναφέρει το χρωματικό μοντέλο που είναι επί του παρόντος συνδεδεμένο με μια σελίδα ή τιμή χρώματος; δεν εκτελεί μετατροπή.

Πού μπορώ να βρω κάθε enum και κάθε τιμή;

Αυτή η σελίδα καλύπτει τις πιο συχνά χρησιμοποιούμενες enums. Για το πλήρες σύνολο, συμπεριλαμβανομένων όλων των τιμών των μελών, δείτε το API Reference.


API Reference Περίληψη

EnumΠεριγραφή
PageModeΠώς ο προβολέας PDF εμφανίζει το έγγραφο κατά το άνοιγμα (περιγράμματα, μικρογραφίες, πλήρης οθόνη κ.λπ.)
PageLayoutΔιάταξη σελίδας που χρησιμοποιείται όταν το έγγραφο εμφανίζεται (μονή σελίδα, στήλες κ.λπ.)
ColorTypeΧρωματικό μοντέλο σελίδας ή χρωματική τιμή (RGB, CMYK, κλίμακα του γκρι κ.λπ.)
HorizontalAlignmentΟριζόντια στοίχιση παραγράφων, πινάκων ή σημειώσεων
VerticalAlignmentΚατακόρυφη στοίχιση παραγράφων, πινάκων ή σχολίων
TextAlignmentΟριζόντια στοίχιση κειμένου για τα πλαίσια κειμένου σχολίων
JustificationΣτοίχιση του περιεχομένου ελεύθερου κειμένου σχολίου
LoadFormatΕπιλογέας μορφής πηγής που χρησιμοποιείται από τις υποκλάσεις του LoadOptions
SaveFormatΕπιλογέας μορφής εξόδου που χρησιμοποιείται από Document.Save
RotationΓωνία περιστροφής σελίδας, διατίθεται μέσω Page.Rotate

Δείτε επίσης

 Ελληνικά