Διαμορφώσεις Μορφής
Πλήρεις επιλογές απόδοσης ανά μορφή
Κάθε έγγραφο ανοίγει με μια υλοποίηση του BaseConfig. Περνάτε μία στο OpenDocumentAsync ή αφήστε τον κατάλογο μορφών να δημιουργήσει την προεπιλογή του. Όλες οι παρακάτω κλάσεις βρίσκονται στο χώρο ονομάτων Doconut.
Αυτός ο μοναδικός χώρος ονομάτων είναι νέος. Η προηγούμενη βιβλιοθήκη .NET Standard διέσπαρε αυτούς τους τύπους σε Doconut.Configs, Doconut.Configs.View και Doconut.Models. Τα ονόματα τύπων δεν άλλαξαν — στα περισσότερα αρχεία η πλήρης αλλαγή είναι η διαγραφή δύο γραμμών using. Δείτε τον οδηγό μετάβασης.
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});Κληρονομικότητα και ενσωματωμένες ρυθμίσεις PDF
Κάθε μορφή κληρονομεί τις πέντε ιδιότητες του BaseConfig. Οι μορφές που μπορούν να ανακατευθύνουν μέσω PDF εκθέτουν μια ενσωματωμένη PdfConfig. Στα WordConfig, ExcelConfig και PptConfig, τα AllowSearch και AllowCopy είναι ιδιότητες ευκολίας που διαβάζουν και γράφουν στην ενσωματωμένη PdfConfig.
DefaultRender = true επιλέγει τον εγγενή αποδοχέα μορφής. Σε μορφές με ανακατεύθυνση PDF, το false μετατρέπει πρώτα σε PDF στη μνήμη και έπειτα χρησιμοποιεί τον προβολέα PDF. Αυτή η διαδρομή είναι συχνά χρήσιμη για αναζήτηση κειμένου-συντεταγμένων, αλλά προσθέτει μια επιπλέον μετατροπή.
Εκτός αν αναφέρεται διαφορετικά, οι πίνακες εμφανίζουν τις προεπιλογές κατασκευής/ιδιότητας. Ο αυτόματος κατάλογος μορφών παρακάμπτει σκόπιμα δύο από αυτές: δημιουργεί ExcelConfig με SplitWorksheets = true και MhtConfig με DefaultRender = false.
BaseConfig
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
int | ImageResolution | 0 | 0 χρησιμοποιεί την προεπιλογή της μορφής. Έγκυρο ρητό εύρος είναι 25‑300 DPI· οι μη έγκυρες αναθέσεις αγνοούνται. |
string | DocumentCulture | "" | Τοπική ρύθμιση για ημερομηνίες και αριθμούς. Οι μη κενές τιμές περικόπτονται· οι κενές αναθέσεις αγνοούνται. |
string | Password | "" | Κωδικός πρόσβασης προστατευμένου εγγράφου. Το DocOptions.Password αντιγράφεται εδώ αυτόματα. |
bool | ShowUI | true | Ιδιότητα συμβατότητας· ο τρέχων αποδοχέας δεν τη χρησιμοποιεί για τον έλεγχο της γραμμής εργαλείων του προγράμματος περιήγησης. |
bool | CachePages | true | Αποθήκευση στην κρυφή μνήμη των εικόνων των σελίδων που αποδόθηκαν για τη συνεδρία του εγγράφου. |
PdfConfig
Μορφές: PDF. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Διακόπτης συμβατότητας. Η τρέχουσα εργοστασιακή μονάδα χρησιμοποιεί τον εγγενή προβολέα PDF. |
bool | AllowSearch | false | Δημιουργία/χρήση του ευρετηρίου αναζήτησης κειμένου PDF. Απαιτεί τη δυνατότητα άδειας Search για αιτήματα. |
bool | AllowCopy | false | Επιτρέπει λειτουργίες επιλογής/αντιγραφής κειμένου. |
bool | ExtractHyperlinks | false | Εξάγει τα ορθογώνια συνδέσμων για επικάλυψη πελάτη. |
int | HyperlinksPageCount | 0 | Μέγιστος αριθμός σελίδων που σαρώνται για συνδέσμους· 0 σημαίνει όλες τις σελίδες. |
bool | CompressImages | false | Συμπίεση ενσωματωμένων εικόνων πριν την απόδοση. |
int | CompressQuality | 100 | Ποιότητα JPEG που χρησιμοποιείται όταν η συμπίεση είναι ενεργή. |
bool | ResizeImages | false | Αλλαγή μεγέθους ενσωματωμένων εικόνων πριν την απόδοση. |
int | ResizeResolution | 300 | Στόχος DPI για τις εικόνες που έχουν αλλάξει μέγεθος. |
bool | CompressFast | false | Προτιμά τη γρηγορότερη, χαμηλότερης ποιότητας διαδρομή συμπίεσης. |
bool | FixInvalidImages | false | Προσπάθεια επισκευής μη έγκυρων ενσωματωμένων εικόνων. |
bool | SplitSegments | false | Επανασύνδεση λέξεων που έχουν χωριστεί σε τμήματα γραμμής για βελτίωση της αναζήτησης/αντιγραφής. |
showHyperlinks στο ViewerConfig ελέγχει την επικάλυψη πελάτη, ενώ το ExtractHyperlinks ελέγχει την εξαγωγή στον διακομιστή. Ενεργοποιήστε και τα δύο.
WordConfig
Μορφές: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση Word· false χρησιμοποιεί την ανακατεύθυνση PDF. |
PdfConfig | PdfConfig | νέα υλοποίηση | Ρυθμίσεις που χρησιμοποιούνται από τη διαδρομή PDF/αναζήτησης. |
DocPaperSize | PaperSize | A4 | Μέγεθος εξόδου χαρτιού. Χρησιμοποιήστε Custom με πλάτος/ύψος. |
int | PaperWidth | 595 | Προσαρμοσμένο πλάτος σε μονάδες point. |
int | PaperHeight | 841 | Προσαρμοσμένο ύψος σε μονάδες point. |
bool | RemovePaperMargin | false | Αφαίρεση περιθωρίων σελίδας του εγγράφου. |
bool | RenderPageColor | true | Διατήρηση του ρυθμισμένου χρώματος σελίδας του Word· false αποδίδει λευκές σελίδες. |
bool | ExportPdfA | false | Χρήση αρχιβαρικού PDF/A στη διαδρομή PDF. |
Encoding? | FileEncoding | null | Παράκαμψη κωδικοποίησης πηγής. |
string | FontInfo | "" | Πληροφορίες αντικατάστασης γραμματοσειράς. |
string[]? | FontFolders | null | Επιπλέον καταλόγοι γραμματοσειρών, ιδιαίτερα χρήσιμοι σε Linux/containers. |
bool | AllowSearch | false | Αναθέτει στο PdfConfig.AllowSearch. |
bool | AllowCopy | false | Αναθέτει στο PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents ή AutoFitToWindow. |
ExcelConfig
Μορφές: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση φύλλου· false χρησιμοποιεί την ανακατεύθυνση PDF. |
PdfConfig | PdfConfig | νέα παρουσία | Ρυθμίσεις για τη διαδρομή PDF/αναζήτησης. |
ExcelPaperSize | PaperSize | PaperA4 | Μέγεθος εξόδου χαρτιού. |
double | PaperMargins | 0.25 | Περιθώρια σελίδας σε ίντσες. |
bool | PaperLandscape | true | Απόδοση φύλλου σε οριζόντια διάταξη. |
bool | AutoFitContents | false | Αυτόματη προσαρμογή ύψους γραμμών και πλάτους στηλών. |
bool | RemoveEmptyContent | true | Συμπίεση εξόδου εξαιρώντας κενό περιεχόμενο. |
bool | CalculateFormula | true | Επανυπολογισμός τύπων πριν την απόδοση. |
bool | ShowRowColumnHeaders | true | Συμπερίληψη κεφαλίδων φύλλου. |
bool | ExportPdfA | false | Χρήση PDF/A στη διαδρομή PDF. |
bool | SplitWorksheets | false | Διατήρηση φύλλων ως ξεχωριστές ομάδες σελίδων. |
bool | ShowEmptyWorkSheets | false | Συμπερίληψη κενών φύλλων. |
bool | ExportLandscape | false | Εξαναγκασμός εξαγωγής σε οριζόντια διάταξη. |
bool | ExportOnePagePerSheet | false | Προσαρμογή κάθε φύλλου σε μία σελίδα εξόδου. |
bool | MemoryOptimizationPreference | true | Μείωση μέγιστης μνήμης, ενδεχομένως με ανταλλαγή κάποιου χρόνου. |
bool | AutoTrimWorksheetRenderRange | true | Απόδοση μόνο του ορατού χρησιμοποιημένου εύρους όταν δεν υπάρχει ρητή περιοχή εκτύπωσης. |
bool | AutoTrimPreserveExistingPrintArea | true | Διατήρηση των περιοχών εκτύπωσης που ορίζονται στο βιβλίο εργασίας κατά την αυτόματη περικοπή. |
string? | PrintArea | null | Ρητό εύρος όπως "A1:Z100". |
bool | PrintGridlines | false | Εκτύπωση γραμμών πλέγματος φύλλου. |
bool | PrintHeadings | false | Εκτύπωση κεφαλίδων γραμμών/στηλών. |
List<string> | SheetNames | κενό | Περιορισμός απόδοσης σε ονομαστικά φύλλα. |
CustomStyleCell? | CustomStyles | null | Προαιρετικές παρακάμψεις μορφοποίησης ημερομηνίας/δεκαδικού/ακέραιου. |
bool | AllowSearch | false | Αναθέτει στο PdfConfig.AllowSearch. |
bool | AllowCopy | false | Αναθέτει στο PdfConfig.AllowCopy. |
CustomStyleCell εκθέτει τα CustomStyleDateTime, CustomStyleNumberDecimal και CustomStyleNumberInteger, όλα nullable strings.
new ExcelConfig() ορίζει το SplitWorksheets σε false; το άνοιγμα αρχείου Excel χωρίς ρητή διαμόρφωση χρησιμοποιεί τον κατάλογο μορφών, ο οποίος το ορίζει σε true.
PptConfig
Μορφές: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση διαφάνειας· false χρησιμοποιεί την ανακατεύθυνση PDF. |
bool | FastLoad | false | Αποφυγή απόδοσης της πρώτης διαφάνειας κατά το άνοιγμα· χρήση μεταδεδομένων και απόδοση κατά απαίτηση. |
PdfConfig | PdfConfig | νέα παρουσία | Ρυθμίσεις για τη συμπεριφορά PDF/αναζήτησης. |
string | FontInfo | "" | Πληροφορίες αντικατάστασης γραμματοσειράς. |
string[]? | FontFolders | null | Επιπλέον καταλόγοι γραμματοσειρών. |
bool | AllowSearch | false | Αναθέτει στο PdfConfig.AllowSearch. |
bool | AllowCopy | false | Αναθέτει στο PdfConfig.AllowCopy. |
Σε Linux και macOS, η απόδοση παρουσιάσεων με την τρέχουσα μηχανή απαιτεί libgdiplus και System.Drawing.EnableUnixSupport=true. Εγκαταστήστε τις γραμματοσειρές που χρησιμοποιεί η παρουσίαση ή παρέχετε FontFolders.
CadConfig
Μορφές: DWG, DXF, DGN. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση CAD· false χρησιμοποιεί την ανακατεύθυνση PDF. |
PdfConfig | PdfConfig | νέα παρουσία | Ρυθμίσεις διαδρομής PDF. |
bool | ExportPdfA | false | Έξοδος PDF/A για αρχειοθέτηση. |
bool | ShowColor | true | Χρώμα αντί για μονόχρωμη. |
bool | WhiteBackground | true | Λευκό αντί για μαύρο φόντο. |
short | LineWidth | 25 | Πλάτος γραμμής CAD. |
bool | ShowLayouts | false | Απόδοση καρτελών διάταξης. |
bool | ShowModel | true | Απόδοση χώρου μοντέλου. |
bool | Check3DSolid | true | Επεξεργασία 3D στερεών. |
bool | ExportAllLayouts | false | Εξαγωγή όλων των διατάξεων, παρακάμπτοντας την επιλογή μοντέλου/διάταξης. |
bool | LimitMinimumSize | false | Εφαρμογή MinimumSize. |
int | MinimumSize | 700 | Ελάχιστο μέγεθος εξόδου σε εικονοστοιχεία. |
bool | LimitMaximumSize | false | Εφαρμογή MaximumSize. |
int | MaximumSize | 700 | Μέγιστο μέγεθος εξόδου σε εικονοστοιχεία. |
bool | ShowAllLayoutsDgn | false | Συμπερίληψη όλων των διατάξεων DGN. |
bool | AutomaticLayoutScaling | true | Αυτόματη κλιμάκωση διατάξεων. |
float | PdfMargins | 0.5 | Περιθώριο PDF σε ίντσες. |
RenderQuality | QualityImage | Low | Ποιότητα raster: Low, Medium ή High. |
RenderQuality | QualityText | Medium | Ποιότητα κειμένου: Low, Medium ή High. |
EmailConfig
Μορφές: EML, EMLX, MSG. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση email· false χρησιμοποιεί την ανακατεύθυνση PDF. |
PdfConfig | PdfConfig | new instance | Ρυθμίσεις διαδρομής PDF. |
Encoding? | EmailEncoding | null | Παράκαμψη κωδικοποίησης μηνύματος. |
Encoding? | SubjectEncoding | null | Παράκαμψη κωδικοποίησης θέματος. |
Encoding? | BodyEncoding | null | Παράκαμψη κωδικοποίησης σώματος. |
bool | SkipExternalImages | false | Να μην φορτώνονται εικόνες απομακρυσμένες. Συνιστάται για μη αξιόπιστο email. |
bool | RemoveLastWhitePage | false | Αφαίρεση τελευταίας κενής σελίδας. |
bool | UseAntiAliasing | false | Ενεργοποίηση anti-aliasing. |
bool | UseHighQualityRendering | false | Προτίμηση καθαρότερης, πιο αργής απόδοσης. |
TimeSpan? | TimeZoneOffset | null | Παράκαμψη της ζώνης ώρας που χρησιμοποιείται για ημερομηνίες. |
bool | ForcePageSize | false | Εξαναγκασμός σταθερών διαστάσεων σελίδας. |
ImageConfig, TiffConfig, και PsdConfig
ImageConfig καλύπτει JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF και SVG. Το προεπιλεγμένο DPI είναι 100.
| Διαμόρφωση | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Μέγιστο πλάτος/ύψος σε εικονοστοιχεία. 0 σημαίνει απεριόριστο· μη μηδενικές τιμές κάτω από 50 αγνοούνται. |
ImageConfig | TransparentPng | true | Διατήρηση διαφάνειας PNG· false χρησιμοποιεί λευκό φόντο. |
TiffConfig | no additional properties | DPI 200 | Χρησιμοποιεί μόνο BaseConfig; υποστηρίζει πολυσελίδες TIFF. |
PsdConfig | MaxImagePixelSize | 3000 | Ίδια επικύρωση 0/ελάχιστο-50 όπως το ImageConfig; το προεπιλεγμένο DPI είναι 100. |
DicomConfig
Μορφές: DCM, IMA. Προεπιλεγμένο αποτελεσματικό DPI: 100. Απαιτεί το πρόσθετο DICOM.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
int | HorizontalResolution | 100 effective | Σαφές οριζόντιο DPI· εναλλιώς ImageResolution, μετά 100. |
int | VerticalResolution | 100 effective | Σαφές κατακόρυφο DPI· εναλλιώς ImageResolution, μετά 100. |
int | AnimationFrameDelayMs | 100 | Καθυστέρηση πλαισίου πολλαπλών καρέ· ο χρόνος GIF χρησιμοποιεί μονάδες 10 ms. |
ushort | LoopCount | 0 | 0 επαναλαμβάνει για πάντα· θετικές τιμές σταματούν μετά τον αριθμό αυτό. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, ή συνδυασμένη επισκόπηση με στατικά πλαίσια. |
TxtConfig
Μορφή: TXT. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Μέγεθος εξόδου χαρτιού. |
Encoding? | FileEncoding | null | null χρησιμοποιεί UTF-8. |
string | FontInformation | "" | Πληροφορίες γραμματοσειράς για απόδοση κειμένου. |
Χρησιμοποιήστε WordConfig όταν το απλό κείμενο χρειάζεται πιο πλούσια συμπεριφορά διάταξης σελίδας.
ProjectConfig
Μορφές: MPP, MPPX, MPX. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική εικόνα Gantt· false χρησιμοποιεί διαδρομή PDF κειμένου. |
PdfConfig | PdfConfig | new instance | Ρυθμίσεις διαδρομής PDF. |
bool | ExportPdfA | true | Έξοδος αρχιβιακού PDF/A. |
MppPaperSize | PaperSize | Ledger | Μέγεθος χαρτιού εξόδου έργου. |
MppTimeScale | TimeScale | Months | Days ή Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet ή TaskSheet. |
Για ακριβή αναζήτηση συντεταγμένων κειμένου, χρησιμοποιήστε DefaultRender = false.
VisioConfig
Μορφές: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση διαγράμματος· false χρησιμοποιεί την ανακατεύθυνση PDF. |
PdfConfig | PdfConfig | new instance | Ρυθμίσεις διαδρομής PDF. |
bool | ExportPdfA | true | Έξοδος αρχιβιακού PDF/A. |
HtmlConfig, EpubConfig, MhtConfig, και XpsConfig
Τα τέσσερα προεπιλεγμένα σε 200 DPI και εκθέτουν ένα ένθετο PdfConfig.
| Διαμόρφωση | Μορφές | DefaultRender | Πρόσθετες ιδιότητες/συμπεριφορά |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Αυθεντική απόδοση· χρησιμοποιήστε false για διαδρομή PDF κειμένου. |
EpubConfig | EPUB | true | Αυθεντική απόδοση· false χρησιμοποιεί PDF. |
MhtConfig | MHT, MHTML | true on the class; false in the automatic catalog | Η κανονική άνοιξη χωρίς ρύθμιση χρησιμοποιεί την ανακατεύθυνση PDF αναζητήσιμη. Μια ρητά κατασκευασμένη προεπιλεγμένη παρουσίαση αποδίδει εγγενώς. |
XpsConfig | XPS | false | Χρησιμοποιεί τη διαδρομή PDF εξ ορισμού· ορίστε true για εγγενή απόδοση εικόνας. |
Παραδείγματα διαμόρφωσης ανά οικογένεια
BaseConfig[] configs =
{
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = new[] { "/usr/share/fonts/truetype" },
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = new[] { "/usr/share/fonts/truetype" },
AllowSearch = true
},
new CadConfig
{
ShowColor = true,
WhiteBackground = true,
ShowModel = true,
ShowLayouts = false,
QualityText = CadConfig.RenderQuality.High
},
new EmailConfig
{
SkipExternalImages = true,
RemoveLastWhitePage = true,
TimeZoneOffset = TimeSpan.Zero
},
new ImageConfig
{
MaxImagePixelSize = 3000,
TransparentPng = true
},
new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames,
AnimationFrameDelayMs = 100,
LoopCount = 0
}
};Επιλογή ανά επέκταση
static BaseConfig? ConfigForExtension(string extUpper) => extUpper switch
{
".DOC" or ".DOCX" or ".DOT" or ".DOTX" or ".ODT" => new WordConfig
{
AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
PaperSize = DocPaperSize.Tabloid,
PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
},
".PDF" => new PdfConfig { AllowSearch = true, AllowCopy = true },
".XLS" or ".XLSX" or ".ODS" or ".CSV" => new ExcelConfig { AllowSearch = true, AllowCopy = true },
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },
// DefaultRender = false → PDF ανακατεύθυνση → αναζήτηση κειμένου εγγενής με ακρίβεια pixel
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // fall back to the format's default config
};Ήταν αυτή η σελίδα χρήσιμη;