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

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

Κάθε έγγραφο ανοίγει με μια υλοποίηση BaseConfig. Πέρασέ το στο OpenDocumentAsync (ή OpenDocument) ή άφησε τον κατάλογο μορφών να δημιουργήσει την προεπιλογή του. Όλες οι παρακάτω κλάσεις βρίσκονται στον χώρο ονομάτων 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.
PdfConfigPdfConfignew instanceΡυθμίσεις που χρησιμοποιούνται από τη διαδρομή PDF/αναζήτησης.
DocPaperSizePaperSizeA4Μέγεθος εξόδου χαρτιού. Χρησιμοποιήστε Custom με πλάτος/ύψος.
intPaperWidth595Προσαρμοσμένο πλάτος σε σημεία.
intPaperHeight841Προσαρμοσμένο ύψος σε σημεία.
boolRemovePaperMarginfalseΑφαίρεση περιθωρίων σελίδας εγγράφου.
boolRenderPageColortrueΔιατήρηση του ρυθμισμένου χρώματος σελίδας του Word· false αποδίδει λευκές σελίδες.
boolExportPdfAfalseΧρήση αρχιβιακού PDF/A στη διαδρομή PDF.
Encoding?FileEncodingnullΠαράκαμψη κωδικοποίησης πηγής.
stringFontInfo""Πληροφορίες αντικατάστασης γραμματοσειράς.
string[]?FontFoldersnullΠρόσθετοι φάκελοι γραμματοσειρών — χρήσιμο σε διακομιστή που δεν διαθέτει τις γραμματοσειρές που χρησιμοποιούν τα έγγραφα.
boolAllowSearchfalseΑναθέτει στο PdfConfig.AllowSearch.
boolAllowCopyfalseΑναθέτει στο PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents ή AutoFitToWindow.

ExcelConfig

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

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΦυσική απόδοση φύλλου· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfignew instanceΡυθμίσεις για τη διαδρομή 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>SheetNamesemptyΠεριορισμός απόδοσης σε ονομασμένα φύλλα εργασίας.
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Αποφυγή απόδοσης της πρώτης διαφάνειας κατά το άνοιγμα· χρήση μεταδεδομένων και απόδοση κατά απαίτηση.
PdfConfigPdfConfignew instanceΡυθμίσεις για τη συμπεριφορά PDF/αναζήτησης.
stringFontInfo""Πληροφορίες αντικατάστασης γραμματοσειρών.
string[]?FontFoldersnullΕπιπλέον καταλόγοι γραμματοσειρών.
boolAllowSearchfalseΑνατίθεται στο PdfConfig.AllowSearch.
boolAllowCopyfalseΑνατίθεται στο PdfConfig.AllowCopy.

Εγκαταστήστε τις γραμματοσειρές που χρησιμοποιούν οι παρουσιάσεις στον διακομιστή, ή κατευθύνετε το FontFolders σε έναν φάκελο που τις περιέχει. Ένας Windows Server χωρίς Office έχει πολύ λιγότερες γραμματοσειρές από ένα μηχάνημα ανάπτυξης, και οι ελλιπείς γραμματοσειρές αντικαθίστανται χωρίς κανένα σφάλμα.

CadConfig

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

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
boolDefaultRendertrueΦυσική απόδοση CAD· false χρησιμοποιεί την ανακατεύθυνση PDF.
PdfConfigPdfConfignew instanceΡυθμίσεις διαδρομής PDF.
boolExportPdfAfalseΑρχιβιακή έξοδος PDF/A.
boolShowColortrueΧρώμα αντί για μονόχρωμο.
boolWhiteBackgroundtrueΛευκό αντί για μαύρο φόντο.
shortLineWidth25Πλάτος γραμμής CAD.
boolShowLayoutsfalseΑπόδοση καρτελών διάταξης.
boolShowModeltrueΑπόδοση χώρου μοντέλου.
boolCheck3DSolidtrueΕπεξεργασία στερεών 3Δ.
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, and 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. Σε αυτό το πακέτο τα αρχεία DICOM αποδίδονται πλήρως, αλλά τα τεχνικά μεταδεδομένα δεν είναι διαθέσιμα — δείτε Πρόσθετο DICOM.

ΤύποςΙδιότηταΠροεπιλογήΣυμπεριφορά
intHorizontalResolution100 αποτελεσματικόΣυγκεκριμένο οριζόντιο DPI· διαφορετικά ImageResolution, έπειτα 100.
intVerticalResolution100 αποτελεσματικόΣυγκεκριμένο κάθετο 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, and XpsConfig

Όλα τα τέσσερα έχουν προεπιλογή 200 DPI και εκθέτουν ένα ένθετο 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[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        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)
{
    switch (extUpper)
    {
        case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
            return new WordConfig
            {
                AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
                PaperSize = DocPaperSize.Tabloid,
                PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
            };
        case ".PDF":
            return new PdfConfig { AllowSearch = true, AllowCopy = true };
        case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
            return new ExcelConfig { AllowSearch = true, AllowCopy = true };
        case ".DCM": case ".IMA":
            return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
        // DefaultRender = false → PDF redirect → pixel-accurate native text search
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // fall back to the format's default config
    }
}

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