Διαμορφώσεις Μορφής
Πλήρεις επιλογές απόδοσης ανά μορφή
Κάθε έγγραφο ανοίγει με μια υλοποίηση του BaseConfig. Περάστε ένα στο OpenDocumentAsync ή αφήστε τον κατάλογο μορφών να δημιουργήσει το προεπιλεγμένο. Όλες οι παρακάτω κλάσεις βρίσκονται στο χώρο ονομάτων Doconut.
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 | new instance | Ρυθμίσεις που χρησιμοποιούνται από το μονοπάτι 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 | new instance | Ρυθμίσεις για το μονοπάτι 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 | Διατήρηση περιοχών εκτύπωσης που ορίζονται στο βιβλίο εργασίας κατά το auto‑trim. |
string? | PrintArea | null | Ρητή περιοχή, π.χ. "A1:Z100". |
bool | PrintGridlines | false | Εκτύπωση γραμμών πλέγματος φύλλου. |
bool | PrintHeadings | false | Εκτύπωση επικεφαλίδων γραμμής/στήλης. |
List<string> | SheetNames | empty | Περιορισμός απόδοσης σε ονομασμένα φύλλα εργασίας. |
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 | new instance | Ρυθμίσεις για συμπεριφορά 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 | new instance | Ρυθμίσεις μονοπατιού 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, and 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 | Καθυστέρηση πλαισίου πολυ‑πλαισίου animation· το 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, and XpsConfig
Όλα τα τέσσερα προεπιλέγουν DPI 200 και εκθέτουν μια ενσωματωμένη 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 για εγγενή απόδοση εικόνας. |
Configuration examples by family
BaseConfig[] configs =
[
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = ["/usr/share/fonts/truetype"],
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = ["/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
}
];Per-extension selection
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 redirect → pixel-accurate native text search
".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
};Ήταν αυτή η σελίδα χρήσιμη;