Konfigurasi Format
Opsi rendering lengkap per format
Setiap dokumen dibuka dengan implementasi BaseConfig. Berikan satu ke OpenDocumentAsync (atau OpenDocument) atau biarkan katalog format membuat nilai defaultnya. Semua kelas di bawah ini berada dalam namespace Doconut.
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 diarahkan melalui PDF mengekspos PdfConfig bersarang. Pada WordConfig, ExcelConfig, dan PptConfig, AllowSearch dan AllowCopy adalah properti kenyamanan yang membaca dan menulis PdfConfig bersarang.
DefaultRender = true memilih renderer format asli. Pada format dengan pengalihan PDF, false mengonversi terlebih dahulu ke PDF dalam memori dan kemudian menggunakan penampil PDF. Jalur itu sering berguna untuk pencarian koordinat teks, tetapi menambah biaya konversi tambahan.
Kecuali dinyatakan lain, tabel menampilkan nilai default konstruktor/properti. Katalog format otomatis secara sengaja menimpa 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; penetapan yang tidak valid diabaikan. |
string | DocumentCulture | "" | Locale untuk tanggal dan angka. Nilai yang tidak kosong dipangkas; penetapan kosong diabaikan. |
string | Password | "" | Kata sandi dokumen yang dilindungi. DocOptions.Password disalin ke sini secara otomatis. |
bool | ShowUI | true | Properti kompatibilitas; renderer saat ini tidak menggunakannya untuk mengontrol bilah alat browser. |
bool | CachePages | true | Menyimpan gambar halaman yang dirender dalam cache 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 | Membangun/menggunakan indeks pencarian teks PDF. Membutuhkan kemampuan lisensi Search untuk permintaan. |
bool | AllowCopy | false | Mengizinkan operasi pemilihan/penyalinan teks. |
bool | ExtractHyperlinks | false | Mengekstrak persegi panjang tautan untuk overlay klien. |
int | HyperlinksPageCount | 0 | Maksimum halaman yang dipindai untuk tautan; 0 berarti semua halaman. |
bool | CompressImages | false | Mengompres gambar tersemat sebelum rendering. |
int | CompressQuality | 100 | Kualitas JPEG yang digunakan saat kompresi diaktifkan. |
bool | ResizeImages | false | Mengubah ukuran gambar tersemat sebelum rendering. |
int | ResizeResolution | 300 | DPI target untuk gambar yang diubah ukurannya. |
bool | CompressFast | false | Menyukai jalur kompresi yang lebih cepat dengan kualitas lebih rendah. |
bool | FixInvalidImages | false | Mencoba memperbaiki gambar tersemat yang tidak valid. |
bool | SplitSegments | false | Menggabungkan 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 | Menghapus margin halaman dokumen. |
bool | RenderPageColor | true | Mempertahankan warna halaman yang dikonfigurasi oleh Word; false merender halaman putih. |
bool | ExportPdfA | false | Gunakan PDF/A arsip pada jalur PDF. |
Encoding? | FileEncoding | null | Menimpa enkoding sumber. |
string | FontInfo | "" | Informasi substitusi font. |
string[]? | FontFolders | null | Direktori font tambahan — berguna pada server yang tidak memiliki font yang digunakan dokumen. |
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 | new instance | Pengaturan untuk jalur PDF/pencarian. |
ExcelPaperSize | PaperSize | PaperA4 | Ukuran kertas output. |
double | PaperMargins | 0.25 | Margin halaman dalam inci. |
bool | PaperLandscape | true | Render lembar dalam orientasi lanskap. |
bool | AutoFitContents | false | Menyesuaikan otomatis tinggi baris dan lebar kolom. |
bool | RemoveEmptyContent | true | Memperketat output dengan mengecualikan konten kosong. |
bool | CalculateFormula | true | Menghitung ulang formula sebelum render. |
bool | ShowRowColumnHeaders | true | Menyertakan header baris/kolom spreadsheet. |
bool | ExportPdfA | false | Gunakan PDF/A pada jalur PDF. |
bool | SplitWorksheets | false | Menjaga lembar kerja sebagai grup halaman terpisah. |
bool | ShowEmptyWorkSheets | false | Menyertakan lembar kerja kosong. |
bool | ExportLandscape | false | Memaksa ekspor dalam orientasi lanskap. |
bool | ExportOnePagePerSheet | false | Menyesuaikan setiap lembar kerja ke satu halaman output. |
bool | MemoryOptimizationPreference | true | Mengurangi memori puncak, mungkin mengorbankan sedikit kecepatan. |
bool | AutoTrimWorksheetRenderRange | true | Render hanya rentang yang terlihat saat tidak ada area cetak eksplisit. |
bool | AutoTrimPreserveExistingPrintArea | true | Mempertahankan area cetak yang didefinisikan workbook selama auto-trim. |
string? | PrintArea | null | Rentang eksplisit seperti "A1:Z100". |
bool | PrintGridlines | false | Mencetak garis kisi lembar kerja. |
bool | PrintHeadings | false | Mencetak heading baris/kolom. |
List<string> | SheetNames | empty | Membatasi render hanya pada lembar kerja yang bernama. |
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, semuanya 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 | Menghindari render slide pertama saat membuka; gunakan metadata dan render sesuai permintaan. |
PdfConfig | PdfConfig | new instance | 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. |
Pasang font yang digunakan presentasi pada server, atau arahkan FontFolders ke folder yang menyimpannya. Windows Server tanpa Office memiliki jauh lebih sedikit font dibandingkan mesin pengembangan, dan font yang hilang akan digantikan tanpa error.
CadConfig
Format: DWG, DXF, DGN. DPI default: 200.
| Tipe | Properti | Bawaan | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render CAD asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | new instance | 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 layout. |
bool | ShowModel | true | Render ruang model. |
bool | Check3DSolid | true | Proses solid 3D. |
bool | ExportAllLayouts | false | Ekspor semua layout, menggantikan pemilihan model/layout. |
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 layout DGN. |
bool | AutomaticLayoutScaling | true | Skala layout 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 default: 200.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render email asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | new instance | Pengaturan jalur PDF. |
Encoding? | EmailEncoding | null | Menimpa enkoding pesan. |
Encoding? | SubjectEncoding | null | Menimpa enkoding subjek. |
Encoding? | BodyEncoding | null | Menimpa enkoding isi. |
bool | SkipExternalImages | false | Jangan memuat gambar yang direferensikan secara remote. Disarankan untuk email yang tidak dipercaya. |
bool | RemoveLastWhitePage | false | Hapus halaman putih terakhir. |
bool | UseAntiAliasing | false | Aktifkan anti-aliasing. |
bool | UseHighQualityRendering | false | Lebih memilih rendering yang lebih bersih namun lebih lambat. |
TimeSpan? | TimeZoneOffset | null | Menimpa 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 defaultnya adalah 100.
| Konfig | Properti | Default | Perilaku |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Lebar/tinggi maksimum. 0 berarti tidak terbatas; nilai bukan nol di bawah 50 diabaikan. |
ImageConfig | TransparentPng | true | Pertahankan transparansi PNG; false menggunakan latar belakang putih. |
TiffConfig | tidak ada properti tambahan | DPI 200 | Menggunakan hanya BaseConfig; mendukung TIFF multi‑halaman. |
PsdConfig | MaxImagePixelSize | 3000 | Validasi 0/minimum‑50 yang sama seperti ImageConfig; DPI default adalah 100. |
DicomConfig
Format: DCM, IMA. DPI efektif default: 100. Membutuhkan plugin DICOM. Pada paket ini file DICOM dirender sepenuhnya, tetapi metadata teknis tidak tersedia — lihat Plugin DICOM.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
int | HorizontalResolution | 100 effective | DPI horizontal eksplisit; jika tidak, gunakan ImageResolution, kemudian 100. |
int | VerticalResolution | 100 effective | DPI vertikal eksplisit; jika tidak, gunakan ImageResolution, kemudian 100. |
int | AnimationFrameDelayMs | 100 | Penundaan animasi multi‑frame; timing GIF menggunakan satuan 10 ms. |
ushort | LoopCount | 0 | 0 mengulang selamanya; nilai positif berhenti setelah jumlah tersebut. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, atau gabungan ikhtisar plus frame statis. |
TxtConfig
Format: TXT. DPI default: 200.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Ukuran kertas output. |
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 default: 200.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Gambar Gantt asli; false menggunakan jalur PDF berbasis teks. |
PdfConfig | PdfConfig | new instance | Pengaturan jalur PDF. |
bool | ExportPdfA | true | Output PDF/A arsip. |
MppPaperSize | PaperSize | Ledger | Ukuran kertas output 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 default: 200.
| Tipe | Properti | Default | Perilaku |
|---|---|---|---|
bool | DefaultRender | true | Render diagram asli; false menggunakan pengalihan PDF. |
PdfConfig | PdfConfig | new instance | Pengaturan jalur PDF. |
bool | ExportPdfA | true | Output PDF/A arsip. |
HtmlConfig, EpubConfig, MhtConfig, dan XpsConfig
Keempatnya default ke DPI 200 dan menampilkan PdfConfig bersarang.
| Konfig | 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. Instance default yang dibangun secara eksplisit merender secara asli. |
XpsConfig | XPS | false | Menggunakan jalur PDF secara default; set 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[] { 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
}
};Pemilihan per ekstensi
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
}
}Apakah halaman ini membantu?