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

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

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

Διαμόρφωση Excel

Μορφές: 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.

Διαμόρφωση PPT

Μορφές: 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.

Διαμόρφωση CAD

Μορφές: 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Ποιότητα raster: 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 αποτελεσματικόΣαφές οριζόντιο DPI· αλλιώς ImageResolution, μετά 100.
intVerticalResolution100 αποτελεσματικόΣαφές κάθετο DPI· αλλιώς ImageResolution, μετά 100.
intAnimationFrameDelayMs100Καθυστέρηση animation πολλαπλών πλαισίων· ο χρόνος 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 → pixel-accurate αυθεντική αναζήτηση κειμένου
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // επανέλθετε στην προεπιλεγμένη ρύθμιση του format
};

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