Διαμορφώσεις Μορφής
Πλήρεις επιλογές απόδοσης ανά μορφή
Κάθε έγγραφο ανοίγει με μια υλοποίηση του 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 | νέα παρουσία | Ρυθμίσεις που χρησιμοποιούνται από τη διαδρομή PDF/αναζήτησης. |
DocPaperSize | PaperSize | A4 | Μέγεθος εξόδου χαρτιού. Χρησιμοποιήστε Custom με πλάτος/ύψος. |
int | PaperWidth | 595 | Προσαρμοσμένο πλάτος σε μονάδες (points). |
int | PaperHeight | 841 | Προσαρμοσμένο ύψος σε μονάδες (points). |
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 | Ποιότητα ραστερ: Low, Medium ή High. |
RenderQuality | QualityText | Medium | Ποιότητα κειμένου: Low, Medium ή High. |
EmailConfig
Μορφές: EML, EMLX, MSG. Προεπιλεγμένο DPI: 200.
| Τύπος | Ιδιότητα | Προεπιλογή | Συμπεριφορά |
|---|---|---|---|
bool | DefaultRender | true | Αυθεντική απόδοση email· false χρησιμοποιεί την ανακατεύθυνση PDF. |
PdfConfig | PdfConfig | νέα παρουσία | Ρυθμίσεις διαδρομής 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 | (χωρίς πρόσθετες ιδιότητες) | 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 | νέα παρουσία | Ρυθμίσεις διαδρομής 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 | νέα παρουσία | Ρυθμίσεις διαδρομής PDF. |
bool | ExportPdfA | true | Έξοδος αρχιβιακού PDF/A. |
HtmlConfig, EpubConfig, MhtConfig και XpsConfig
Και οι τέσσερις προεπιλογές έχουν DPI 200 και εκθέτουν μια ένθετη PdfConfig.
| Διαμόρφωση | Μορφές | DefaultRender | Πρόσθετες ιδιότητες/συμπεριφορά |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Αυθεντική απόδοση· χρησιμοποιήστε false για διαδρομή PDF κειμένου. |
EpubConfig | EPUB | true | Αυθεντική απόδοση· false χρησιμοποιεί PDF. |
MhtConfig | MHT, MHTML | true στην κλάση· false στον αυτόματο κατάλογο | Η κανονική έναρξη χωρίς διαμόρφωση χρησιμοποιεί την αναζητήσιμη ανακατεύθυνση 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 redirect → pixel‑accurate native text search
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // επιστροφή στην προεπιλεγμένη διαμόρφωση της μορφής
};Ήταν αυτή η σελίδα χρήσιμη;