Διαμορφώσεις Μορφής

Πλήρεις επιλογές απόδοσης ανά μορφή

Κάθε έγγραφο ανοίγει με μια υλοποίηση του BaseConfig. Περνάτε ένα στο OpenDocumentAsync ή αφήστε τον κατάλογο μορφών να δημιουργήσει το προεπιλεγμένο. Όλες οι παρακάτω κλάσεις βρίσκονται στο χώρο ονομάτων Doconut.

csharp
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

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
intImageResolution00 χρησιμοποιεί την προεπιλογή της μορφής. Έγκυρο ρητό εύρος είναι 25‑300 DPI· μη έγκυρες αναθέσεις αγνοούνται.
stringDocumentCulture""Τοπική ρύθμιση για ημερομηνίες και αριθμούς. Οι μη κενές τιμές περικόπτονται· οι κενές αναθέσεις αγνοούνται.
stringPassword""Κωδικός πρόσβασης προστατευμένου εγγράφου. Το DocOptions.Password αντιγράφεται αυτόματα εδώ.
boolShowUItrueΙδιότητα συμβατότητας· ο τρέχων αποτυπωτής δεν τη χρησιμοποιεί για τον έλεγχο της εργαλειοθήκης του προγράμματος περιήγησης.
boolCachePagestrueΑποθήκευση στην κρυφή μνήμη των αποτυπωμένων εικόνων σελίδων για τη συνεδρία του εγγράφου.

PdfConfig

Μορφές: PDF. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΔιακόπτης συμβατότητας. Η τρέχουσα εργοστασιακή μονάδα χρησιμοποιεί τον ενσωματωμένο προβολέα PDF.
boolAllowSearchfalseΔημιουργία/χρήση του ευρετηρίου αναζήτησης κειμένου PDF. Απαιτεί τη δυνατότητα άδειας Search για αιτήματα.
boolAllowCopyfalseΕπιτρέπει λειτουργίες επιλογής/αντιγραφής κειμένου.
boolExtractHyperlinksfalseΕξάγει τα ορθογώνια των συνδέσμων για επικάλυψη πελάτη.
intHyperlinksPageCount0Μέγιστος αριθμός σελίδων που σαρώνται για συνδέσμους· 0 σημαίνει όλες τις σελίδες.
boolCompressImagesfalseΣυμπίεση ενσωματωμένων εικόνων πριν την απόδοση.
intCompressQuality100Ποιότητα JPEG που χρησιμοποιείται όταν η συμπίεση είναι ενεργή.
boolResizeImagesfalseΑλλαγή μεγέθους ενσωματωμένων εικόνων πριν την απόδοση.
intResizeResolution300Στόχος DPI για τις εικόνες που αλλάζουν μέγεθος.
boolCompressFastfalseΠροτιμά τη γρηγορότερη, χαμηλότερης ποιότητας διαδρομή συμπίεσης.
boolFixInvalidImagesfalseΠροσπάθεια επισκευής μη έγκυρων ενσωματωμένων εικόνων.
boolSplitSegmentsfalseΕπανασύνδεση λέξεων που χωρίζονται σε τμήματα γραμμής για βελτίωση αναζήτησης/αντιγραφής.

showHyperlinks στο ViewerConfig ελέγχει την επικάλυψη πελάτη, ενώ το ExtractHyperlinks ελέγχει την εξαγωγή από τον διακομιστή. Ενεργοποιήστε και τα δύο.

WordConfig

Μορφές: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική απόδοση Word· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις που χρησιμοποιούνται από τη διαδρομή PDF/αναζήτησης.
DocPaperSizePaperSizeA4Μέγεθος εξόδου χαρτιού. Χρησιμοποιήστε Custom με πλάτος/ύψος.
intPaperWidth595Προσαρμοσμένο πλάτος σε μονάδες (points).
intPaperHeight841Προσαρμοσμένο ύψος σε μονάδες (points).
boolRemovePaperMarginfalseΑφαίρεση περιθωρίων σελίδας του εγγράφου.
boolRenderPageColortrueΔιατήρηση του ρυθμισμένου χρώματος σελίδας του Word· false αποτυπώνει λευκές σελίδες.
boolExportPdfAfalseΧρήση αρχιβιακού PDF/A στη διαδρομή PDF.
Encoding?FileEncodingnullΠαράκαμψη κωδικοποίησης πηγής.
stringFontInfo""Πληροφορίες αντικατάστασης γραμματοσειράς.
string[]?FontFoldersnullΕπιπλέον κατάλογοι γραμματοσειρών, ιδιαίτερα χρήσιμο σε Linux/containers.
boolAllowSearchfalseΑνατίθεται στο PdfConfig.AllowSearch.
boolAllowCopyfalseΑνατίθεται στο PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents ή AutoFitToWindow.

ExcelConfig

Μορφές: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική απόδοση φύλλου· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις για τη διαδρομή PDF/αναζήτησης.
ExcelPaperSizePaperSizePaperA4Μέγεθος εξόδου χαρτιού.
doublePaperMargins0.25Περιθώρια σελίδας σε ίντσες.
boolPaperLandscapetrueΑπόδοση φύλλου σε οριζόντια διάταξη.
boolAutoFitContentsfalseΑυτόματη προσαρμογή ύψους γραμμών και πλάτους στηλών.
boolRemoveEmptyContenttrueΣυμπύκνωση εξόδου αποκλείοντας κενό περιεχόμενο.
boolCalculateFormulatrueΕπανυπολογισμός τύπων πριν την απόδοση.
boolShowRowColumnHeaderstrueΣυμπερίληψη κεφαλίδων λογιστικού φύλλου.
boolExportPdfAfalseΧρήση PDF/A στη διαδρομή PDF.
boolSplitWorksheetsfalseΔιατήρηση φύλλων εργασίας ως ξεχωριστές ομάδες σελίδων.
boolShowEmptyWorkSheetsfalseΣυμπερίληψη κενών φύλλων εργασίας.
boolExportLandscapefalseΕξαναγκασμός εξαγωγής σε οριζόντια διάταξη.
boolExportOnePagePerSheetfalseΠροσαρμογή κάθε φύλλου εργασίας σε μία σελίδα εξόδου.
boolMemoryOptimizationPreferencetrueΜείωση μέγιστης μνήμης, ενδεχομένως με ανταλλαγή κάποιου χρόνου.
boolAutoTrimWorksheetRenderRangetrueΑπόδοση μόνο του ορατού χρησιμοποιημένου εύρους όταν δεν υπάρχει ρητή περιοχή εκτύπωσης.
boolAutoTrimPreserveExistingPrintAreatrueΔιατήρηση περιοχών εκτύπωσης που ορίζονται στο βιβλίο εργασίας κατά το αυτόματο κόψιμο.
string?PrintAreanullΡητό εύρος όπως "A1:Z100".
boolPrintGridlinesfalseΕκτύπωση γραμμών πλέγματος φύλλου εργασίας.
boolPrintHeadingsfalseΕκτύπωση κεφαλίδων γραμμής/στήλης.
List<string>SheetNamesκενόΠεριορισμός απόδοσης σε ονομαστικά φύλλα εργασίας.
CustomStyleCell?CustomStylesnullΠροαιρετικές παρακάμψεις μορφοποίησης ημερομηνίας/δεκαδικού/ακέραιου.
boolAllowSearchfalseΑνατίθεται στο PdfConfig.AllowSearch.
boolAllowCopyfalseΑνατίθεται στο 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.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική απόδοση διαφάνειας· false χρησιμοποιεί την ανακατεύθυνση PDF.
boolFastLoadfalseΑποφυγή απόδοσης της πρώτης διαφάνειας κατά το άνοιγμα· χρήση μεταδεδομένων και απόδοση κατά απαίτηση.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις για τη συμπεριφορά PDF/αναζήτησης.
stringFontInfo""Πληροφορίες αντικατάστασης γραμματοσειράς.
string[]?FontFoldersnullΕπιπλέον κατάλογοι γραμματοσειρών.
boolAllowSearchfalseΑνατίθεται στο PdfConfig.AllowSearch.
boolAllowCopyfalseΑνατίθεται στο PdfConfig.AllowCopy.

Σε Linux και macOS, η απόδοση παρουσιάσεων με την τρέχουσα μηχανή απαιτεί libgdiplus και System.Drawing.EnableUnixSupport=true. Εγκαταστήστε τις γραμματοσειρές που χρησιμοποιεί η παρουσίαση ή παρέχετε FontFolders.

CadConfig

Μορφές: DWG, DXF, DGN. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική απόδοση CAD· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις διαδρομής PDF.
boolExportPdfAfalseΈξοδος αρχιβιακού PDF/A.
boolShowColortrueΧρώμα αντί για μονόχρωμο.
boolWhiteBackgroundtrueΛευκό αντί για μαύρο φόντο.
shortLineWidth25Πλάτος γραμμής CAD.
boolShowLayoutsfalseΑπόδοση καρτελών διάταξης.
boolShowModeltrueΑπόδοση χώρου μοντέλου.
boolCheck3DSolidtrueΕπεξεργασία στερεών 3D.
boolExportAllLayoutsfalseΕξαγωγή όλων των διατάξεων, παρακάμπτοντας την επιλογή μοντέλου/διάταξης.
boolLimitMinimumSizefalseΕφαρμογή του MinimumSize.
intMinimumSize700Ελάχιστο μέγεθος εξόδου σε εικονοστοιχεία.
boolLimitMaximumSizefalseΕφαρμογή του MaximumSize.
intMaximumSize700Μέγιστο μέγεθος εξόδου σε εικονοστοιχεία.
boolShowAllLayoutsDgnfalseΣυμπερίληψη όλων των διατάξεων DGN.
boolAutomaticLayoutScalingtrueΑυτόματη κλιμάκωση διατάξεων.
floatPdfMargins0.5Περιθώριο PDF σε ίντσες.
RenderQualityQualityImageLowΠοιότητα ραστερ: Low, Medium ή High.
RenderQualityQualityTextMediumΠοιότητα κειμένου: Low, Medium ή High.

EmailConfig

Μορφές: EML, EMLX, MSG. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική απόδοση email· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις διαδρομής PDF.
Encoding?EmailEncodingnullΠαράκαμψη κωδικοποίησης μηνύματος.
Encoding?SubjectEncodingnullΠαράκαμψη κωδικοποίησης θέματος.
Encoding?BodyEncodingnullΠαράκαμψη κωδικοποίησης σώματος.
boolSkipExternalImagesfalseΝα μην φορτώνονται εικόνες απομακρυσμένα αναφερόμενες. Συνιστάται για μη αξιόπιστο email.
boolRemoveLastWhitePagefalseΑφαίρεση τελικής κενής σελίδας.
boolUseAntiAliasingfalseΕνεργοποίηση anti‑aliasing.
boolUseHighQualityRenderingfalseΠροτίμηση καθαρότερης, πιο αργής απόδοσης.
TimeSpan?TimeZoneOffsetnullΠαράκαμψη της ζώνης ώρας που χρησιμοποιείται για ημερομηνίες.
boolForcePageSizefalseΕξαναγκασμός σταθερών διαστάσεων σελίδας.

ImageConfig, TiffConfig και PsdConfig

ImageConfig καλύπτει JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF και SVG. Το προεπιλεγμένο DPI είναι 100.

ΔιαμόρφωσηΙδιότηταΠροεπιλογήΣυμπεριφορά
ImageConfigMaxImagePixelSize3000Μέγιστο πλάτος/ύψος. 0 σημαίνει απεριόριστο· μη μηδενικές τιμές κάτω από 50 αγνοούνται.
ImageConfigTransparentPngtrueΔιατήρηση διαφάνειας PNG· false χρησιμοποιεί λευκό φόντο.
TiffConfig(χωρίς πρόσθετες ιδιότητες)DPI 200Χρησιμοποιεί μόνο το BaseConfig; υποστηρίζει πολυ‑σελίδες TIFF.
PsdConfigMaxImagePixelSize3000Ίδια επικύρωση 0/ελάχιστο‑50 όπως το ImageConfig; προεπιλεγμένο DPI είναι 100.

DicomConfig

Μορφές: DCM, IMA. Προεπιλεγμένο αποτελεσματικό DPI: 100. Απαιτεί το πρόσθετο DICOM.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
intHorizontalResolution100 effectiveΡητό οριζόντιο DPI· εναλλακτικά ImageResolution, μετά 100.
intVerticalResolution100 effectiveΡητό κατακόρυφο DPI· εναλλακτικά ImageResolution, μετά 100.
intAnimationFrameDelayMs100Καθυστέρηση πλαισίου πολλαπλών καρέ· ο χρόνος GIF χρησιμοποιεί μονάδες 10 ms.
ushortLoopCount00 επαναλαμβάνει για πάντα· θετικές τιμές σταματούν μετά από τον αριθμό αυτό.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly ή συνδυασμένη επισκόπηση με στατικά πλαίσια.

TxtConfig

Μορφή: TXT. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
DocPaperSizePaperSizeA4Μέγεθος εξόδου χαρτιού.
Encoding?FileEncodingnullnull χρησιμοποιεί UTF‑8.
stringFontInformation""Πληροφορίες γραμματοσειράς για απόδοση κειμένου.

Χρησιμοποιήστε το WordConfig όταν το απλό κείμενο χρειάζεται πιο πλούσια συμπεριφορά διάταξης σελίδας.

ProjectConfig

Μορφές: MPP, MPPX, MPX. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική εικόνα Gantt· false χρησιμοποιεί διαδρομή PDF κειμένου.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις διαδρομής PDF.
boolExportPdfAtrueΈξοδος αρχιβιακού PDF/A.
MppPaperSizePaperSizeLedgerΜέγεθος χαρτιού εξόδου έργου.
MppTimeScaleTimeScaleMonthsDays ή Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet ή TaskSheet.

Για ακριβή αναζήτηση με συντεταγμένες κειμένου, χρησιμοποιήστε DefaultRender = false.

VisioConfig

Μορφές: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Προεπιλεγμένο DPI: 200.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΑυθεντική απόδοση διαγράμματος· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfigνέα παρουσίαΡυθμίσεις διαδρομής PDF.
boolExportPdfAtrueΈξοδος αρχιβιακού PDF/A.

HtmlConfig, EpubConfig, MhtConfig και XpsConfig

Και οι τέσσερις προεπιλογές έχουν DPI 200 και εκθέτουν μια ένθετη PdfConfig.

ΔιαμόρφωσηΜορφέςDefaultRenderΠρόσθετες ιδιότητες/συμπεριφορά
HtmlConfigHTML, HTMtrueΑυθεντική απόδοση· χρησιμοποιήστε false για διαδρομή PDF κειμένου.
EpubConfigEPUBtrueΑυθεντική απόδοση· false χρησιμοποιεί PDF.
MhtConfigMHT, MHTMLtrue στην κλάση· false στον αυτόματο κατάλογοΗ κανονική έναρξη χωρίς διαμόρφωση χρησιμοποιεί την αναζητήσιμη ανακατεύθυνση PDF. Μια ρητά κατασκευασμένη προεπιλεγμένη παρουσίαση αποδίδει εγγενώς.
XpsConfigXPSfalseΧρησιμοποιεί τη διαδρομή PDF εξ ορισμού· ορίστε true για εγγενή απόδοση εικόνας.

Παραδείγματα διαμόρφωσης ανά οικογένεια

csharp
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
    }
};

Επιλογή ανά επέκταση αρχείου

csharp
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 // επιστροφή στην προεπιλεγμένη διαμόρφωση της μορφής
};

Ήταν αυτή η σελίδα χρήσιμη;