Konfigurasi Format
Opsi rendering lengkap per format
Setiap dokumen dibuka dengan implementasi BaseConfig. Berikan satu ke OpenDocumentAsync atau biarkan katalog format membuat defaultnya. Semua kelas di bawah ini berada di namespace Doconut.
Namespace tunggal itu baru. Perpustakaan .NET Standard sebelumnya menyebarkan tipe-tipe ini di
Doconut.Configs, Doconut.Configs.View, dan Doconut.Models. Nama tipe tidak
berubah — di sebagian besar file seluruh perubahan hanyalah menghapus dua baris using. Lihat
panduan migrasi.
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});Pewarisan dan pengaturan PDF bersarang
Setiap format mewarisi lima properti BaseConfig. Format yang dapat mengalihkan melalui PDF mengekspos sebuah PdfConfig bersarang. Di WordConfig, ExcelConfig, dan PptConfig, AllowSearch dan AllowCopy adalah properti kemudahan yang membaca dan menulis PdfConfig bersarang.
DefaultRender = true memilih renderer format asli. Pada format dengan pengalihan PDF, false mengonversi ke PDF dalam memori terlebih dahulu dan kemudian menggunakan penampil PDF. Jalur itu sering berguna untuk pencarian koordinat teks, tetapi menambah satu konversi ekstra.
Kecuali dinyatakan lain, tabel menunjukkan nilai default konstruktor/properti. Katalog format otomatis secara sengaja mengganti dua di antaranya: ia membuat ExcelConfig dengan SplitWorksheets = true, dan MhtConfig dengan DefaultRender = false.
BaseConfig
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
int | ImageResolution | 0 | 0 menggunakan default format. Rentang eksplisit yang valid adalah 25-300 DPI; penugasan tidak valid diabaikan. |
string | DocumentCulture | "" | Locale untuk tanggal dan angka. Nilai yang tidak kosong dipangkas; penugasan kosong diabaikan. |
string | Password | "" | Kata sandi dokumen terlindungi. DocOptions.Password disalin ke sini secara otomatis. |
bool | ShowUI | true | Properti kompatibilitas; renderer saat ini tidak menggunakannya untuk mengontrol bilah alat peramban. |
bool | CachePages | true | Cache gambar halaman yang dirender untuk sesi dokumen. |
PdfConfig
Format: PDF. DPI default: 200.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Sakelar kompatibilitas. Pabrik saat ini menggunakan penampil PDF asli. |
bool | AllowSearch | false | Bangun/gunakan indeks pencarian teks PDF. Membutuhkan kemampuan lisensi Search untuk permintaan. |
bool | AllowCopy | false | Izinkan operasi pemilihan/penyalinan teks. |
bool | ExtractHyperlinks | false | Ekstrak persegi panjang tautan untuk overlay klien. |
int | HyperlinksPageCount | 0 | Maksimum halaman yang dipindai untuk tautan; 0 berarti setiap halaman. |
bool | CompressImages | false | Kompres gambar tersemat sebelum rendering. |
int | CompressQuality | 100 | Kualitas JPEG yang digunakan saat kompresi diaktifkan. |
bool | ResizeImages | false | Ubah ukuran gambar tersemat sebelum rendering. |
int | ResizeResolution | 300 | DPI target untuk gambar yang diubah ukurannya. |
bool | CompressFast | false | Lebih suka jalur kompresi yang lebih cepat dengan kualitas lebih rendah. |
bool | FixInvalidImages | false | Coba perbaiki gambar tersemat yang tidak valid. |
bool | SplitSegments | false | Gabungkan kembali kata yang terpisah di antara segmen baris untuk meningkatkan pencarian/penyalinan. |
showHyperlinks di ViewerConfig mengontrol overlay klien, sementara ExtractHyperlinks mengontrol ekstraksi server. Aktifkan keduanya.
WordConfig
Format: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI default: 200.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render Word asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | new instance | Pengaturan yang digunakan oleh jalur PDF/pencarian. |
DocPaperSize | PaperSize | A4 | Ukuran kertas output. Gunakan Custom dengan lebar/tinggi. |
int | PaperWidth | 595 | Lebar khusus dalam poin. |
int | PaperHeight | 841 | Tinggi khusus dalam poin. |
bool | RemovePaperMargin | false | Hapus margin halaman dokumen. |
bool | RenderPageColor | true | Pertahankan warna halaman yang dikonfigurasi di Word; false merender halaman putih. |
bool | ExportPdfA | false | Gunakan PDF/A arsip pada jalur PDF. |
Encoding? | FileEncoding | null | Timpa enkoding sumber. |
string | FontInfo | "" | Informasi substitusi font. |
string[]? | FontFolders | null | Direktori font tambahan, terutama berguna di Linux/kontainer. |
bool | AllowSearch | false | Mendelegasikan ke PdfConfig.AllowSearch. |
bool | AllowCopy | false | Mendelegasikan ke PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents, atau AutoFitToWindow. |
ExcelConfig
Format: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI default: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render lembar asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | instansi baru | Pengaturan untuk jalur PDF/pencarian. |
ExcelPaperSize | PaperSize | PaperA4 | Ukuran kertas output. |
double | PaperMargins | 0.25 | Margin halaman dalam inci. |
bool | PaperLandscape | true | Render lembar lanskap. |
bool | AutoFitContents | false | Sesuaikan otomatis tinggi baris dan lebar kolom. |
bool | RemoveEmptyContent | true | Perketat output dengan mengecualikan konten kosong. |
bool | CalculateFormula | true | Hitung ulang rumus sebelum render. |
bool | ShowRowColumnHeaders | true | Sertakan header spreadsheet. |
bool | ExportPdfA | false | Gunakan PDF/A pada jalur PDF. |
bool | SplitWorksheets | false | Simpan lembar kerja sebagai grup halaman terpisah. |
bool | ShowEmptyWorkSheets | false | Sertakan lembar kerja kosong. |
bool | ExportLandscape | false | Paksa ekspor lanskap. |
bool | ExportOnePagePerSheet | false | Sesuaikan setiap lembar kerja ke satu halaman output. |
bool | MemoryOptimizationPreference | true | Kurangi memori puncak, mungkin mengorbankan sedikit kecepatan. |
bool | AutoTrimWorksheetRenderRange | true | Render hanya rentang terpakai yang terlihat ketika tidak ada area cetak eksplisit. |
bool | AutoTrimPreserveExistingPrintArea | true | Pertahankan area cetak yang ditentukan buku kerja selama pemangkasan otomatis. |
string? | PrintArea | null | Rentang eksplisit seperti "A1:Z100". |
bool | PrintGridlines | false | Cetak garis kisi lembar kerja. |
bool | PrintHeadings | false | Cetak judul baris/kolom. |
List<string> | SheetNames | empty | Batasi render hanya pada lembar kerja yang dinamai. |
CustomStyleCell? | CustomStyles | null | Penimpaan format tanggal/desimal/integer opsional. |
bool | AllowSearch | false | Mendelegasikan ke PdfConfig.AllowSearch. |
bool | AllowCopy | false | Mendelegasikan ke PdfConfig.AllowCopy. |
CustomStyleCell mengekspos CustomStyleDateTime, CustomStyleNumberDecimal, dan CustomStyleNumberInteger, semua string yang dapat bernilai null.
new ExcelConfig() mengatur SplitWorksheets menjadi false; membuka file Excel tanpa konfigurasi eksplisit menggunakan katalog format, yang mengaturnya menjadi true.
PptConfig
Format: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI default: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render slide asli; false menggunakan pengalihan PDF. |
bool | FastLoad | false | Hindari merender slide pertama saat membuka; gunakan metadata dan render sesuai permintaan. |
PdfConfig | PdfConfig | instansi baru | Pengaturan untuk perilaku PDF/pencarian. |
string | FontInfo | "" | Informasi substitusi font. |
string[]? | FontFolders | null | Direktori font tambahan. |
bool | AllowSearch | false | Mendelegasikan ke PdfConfig.AllowSearch. |
bool | AllowCopy | false | Mendelegasikan ke PdfConfig.AllowCopy. |
Di Linux dan macOS, rendering presentasi dengan mesin saat ini memerlukan libgdiplus dan System.Drawing.EnableUnixSupport=true. Instal font yang digunakan oleh presentasi atau sediakan FontFolders.
CadConfig
Format: DWG, DXF, DGN. DPI default: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render CAD asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | instansi baru | Pengaturan jalur PDF. |
bool | ExportPdfA | false | Output PDF/A arsip. |
bool | ShowColor | true | Warna bukan monokrom. |
bool | WhiteBackground | true | Latar belakang putih bukan hitam. |
short | LineWidth | 25 | Lebar goresan CAD. |
bool | ShowLayouts | false | Render tab tata letak. |
bool | ShowModel | true | Render ruang model. |
bool | Check3DSolid | true | Proses padatan 3D. |
bool | ExportAllLayouts | false | Ekspor semua tata letak, mengganti pilihan model/tata letak. |
bool | LimitMinimumSize | false | Terapkan MinimumSize. |
int | MinimumSize | 700 | Ukuran output minimum dalam piksel. |
bool | LimitMaximumSize | false | Terapkan MaximumSize. |
int | MaximumSize | 700 | Ukuran output maksimum dalam piksel. |
bool | ShowAllLayoutsDgn | false | Sertakan semua tata letak DGN. |
bool | AutomaticLayoutScaling | true | Skala tata letak secara otomatis. |
float | PdfMargins | 0.5 | Margin PDF dalam inci. |
RenderQuality | QualityImage | Low | Kualitas raster: Low, Medium, atau High. |
RenderQuality | QualityText | Medium | Kualitas teks: Low, Medium, atau High. |
EmailConfig
Format: EML, EMLX, MSG. DPI bawaan: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render email asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | instansi baru | Pengaturan jalur PDF. |
Encoding? | EmailEncoding | null | Timpa pengkodean pesan. |
Encoding? | SubjectEncoding | null | Timpa pengkodean subjek. |
Encoding? | BodyEncoding | null | Timpa pengkodean isi. |
bool | SkipExternalImages | false | Jangan muat gambar yang direferensikan secara remote. Disarankan untuk email yang tidak terpercaya. |
bool | RemoveLastWhitePage | false | Hapus halaman kosong di akhir. |
bool | UseAntiAliasing | false | Aktifkan anti-aliasing. |
bool | UseHighQualityRendering | false | Lebih suka rendering yang lebih bersih namun lebih lambat. |
TimeSpan? | TimeZoneOffset | null | Timpa zona waktu yang digunakan untuk tanggal. |
bool | ForcePageSize | false | Paksa dimensi halaman tetap. |
ImageConfig, TiffConfig, dan PsdConfig
ImageConfig mencakup JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF, dan SVG. DPI bawaan adalah 100.
| Konfigurasi | Properti | Bawaan | Perilaku |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Lebar/tinggi maksimum. 0 berarti tak terbatas; nilai non-zero di bawah 50 diabaikan. |
ImageConfig | TransparentPng | true | Pertahankan transparansi PNG; false menggunakan latar belakang putih. |
TiffConfig | tidak ada properti tambahan | DPI 200 | Hanya menggunakan BaseConfig; mendukung TIFF multi-halaman. |
PsdConfig | MaxImagePixelSize | 3000 | Validasi 0/minimum-50 yang sama seperti ImageConfig; DPI bawaan adalah 100. |
DicomConfig
Format: DCM, IMA. DPI efektif bawaan: 100. Membutuhkan plugin DICOM.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
int | HorizontalResolution | 100 efektif | DPI horizontal eksplisit; jika tidak ImageResolution, kemudian 100. |
int | VerticalResolution | 100 efektif | DPI vertikal eksplisit; jika tidak ImageResolution, kemudian 100. |
int | AnimationFrameDelayMs | 100 | Penundaan animasi multi-frame; timing GIF menggunakan satuan 10 ms. |
ushort | LoopCount | 0 | 0 berulang selamanya; nilai positif berhenti setelah jumlah tersebut. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, atau gabungan ikhtisar plus frame statis. |
TxtConfig
Format: TXT. DPI bawaan: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Ukuran kertas keluaran. |
Encoding? | FileEncoding | null | null menggunakan UTF-8. |
string | FontInformation | "" | Informasi font untuk rendering teks. |
Gunakan WordConfig ketika teks biasa membutuhkan perilaku tata letak halaman yang lebih kaya.
ProjectConfig
Format: MPP, MPPX, MPX. DPI bawaan: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Gambar Gantt asli; false menggunakan jalur PDF berbasis teks. |
PdfConfig | PdfConfig | instansi baru | Pengaturan jalur PDF. |
bool | ExportPdfA | true | Output PDF/A arsip. |
MppPaperSize | PaperSize | Ledger | Ukuran kertas keluaran proyek. |
MppTimeScale | TimeScale | Months | Days atau Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet, atau TaskSheet. |
Untuk pencarian koordinat teks yang tepat, gunakan DefaultRender = false.
VisioConfig
Format: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI bawaan: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render diagram asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | instansi baru | Pengaturan jalur PDF. |
bool | ExportPdfA | true | Output PDF/A arsip. |
HtmlConfig, EpubConfig, MhtConfig, dan XpsConfig
Keempatnya secara default menggunakan DPI 200 dan mengekspos PdfConfig bersarang.
| Konfigurasi | Format | DefaultRender | Properti/Perilaku tambahan |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Render asli; gunakan false untuk jalur pencarian PDF berbasis teks. |
EpubConfig | EPUB | true | Render asli; false menggunakan PDF. |
MhtConfig | MHT, MHTML | true pada kelas; false dalam katalog otomatis | Buka normal tanpa konfigurasi menggunakan pengalihan PDF yang dapat dicari. Instansi default yang dibangun secara eksplisit merender secara asli. |
XpsConfig | XPS | false | Menggunakan jalur PDF secara default; atur true untuk rendering gambar asli. |
Contoh konfigurasi berdasarkan keluarga
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
}
};Pemilihan per ekstensi
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 → pencarian teks asli akurat-piksel
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // kembali ke konfigurasi default format
};Apakah halaman ini membantu?