Banyak pengembang memulai dengan mencari pustaka komponen UI ketika mereka perlu menampilkan dokumen dalam aplikasi web. Penampil Doconut adalah SDK .NET untuk menambahkan penayangan browser tanpa plugin ke proyek ASP.NET Core, MVC, atau WebForms klasik. Keamanan masih bergantung pada arsitektur aplikasi secara keseluruhan: autentikasi, otorisasi, transportasi, penyimpanan, validasi, pembersihan, patching, dan pemantauan.

1. Instal SDK Doconut App dan Siapkan Proyek .NET Anda untuk Berbagai Format File
1.1 Tambahkan paket yang didukung
Gunakan paket terbaru dan petunjuk pemasangan dari halaman unduhan Doconut resmi. Catat versi yang dipilih dan verifikasi bahwa ia mendukung runtime .NET target.
1.2 Verifikasi referensi paket
Setelah pemasangan, konfirmasikan referensi paket dan versi yang terresolusi dalam file proyek. Menjaga versi secara eksplisit membantu membuat proses build dan deployment dapat direproduksi.
1.3 Aktifkan HTTPS
Layani aplikasi melalui HTTPS sehingga dokumen yang diunggah tidak berjalan dalam teks jelas di jaringan Anda. Untuk aplikasi yang dihosting oleh Kestrel, tambahkan konfigurasi endpoint di appsettings.json:
{
"Kestrel": {
"Endpoints": {
"Https": {
"Url": "
}
}
}
}
Jika Anda menghosting di IIS, kaitkan sertifikat HTTPS ke situs. Dengan HTTPS diaktifkan, file bergerak melalui saluran aman menuju server Anda sendiri, tempat SDK merendernya.
Dari mana keamanan berasal. SDK berjalan di dalam aplikasi Anda, pada infrastruktur Anda: ia tidak melakukan panggilan ke server Doconut, sehingga dokumen tidak pernah meninggalkan jaringan Anda. Itulah sifat yang layak dirancang. Ini bukan sertifikat kepatuhan — SDK tidak menyertakan ISO 27001, SOC 2 atau attestation HIPAA miliknya, dan tidak dapat memberikan satu pada aplikasi Anda. Apa yang dilakukannya adalah menjaga file berada dalam batasan yang sudah Anda kontrol dan audit.
2. Konfigurasikan Unggahan File Aman dan Penyimpanan untuk Manajemen Dokumen
Ini adalah bagian yang menjadi tanggung jawab Anda, bukan SDK, dan penting untuk dikatakan secara jelas: keamanan transportasi, enkripsi saat istirahat, retensi, dan pembersihan adalah keputusan yang dibuat aplikasi Anda. SDK merender dokumen; ia bukan lapisan penyimpanan dan tidak mengenkripsi disk Anda.
2.1 Daftarkan layanan
Di Startup.cs (atau Program.cs pada .NET modern), daftarkan layanan Doconut dalam kontainer injeksi dependensi mengikuti dokumentasi untuk versi yang Anda pasang. Di mana SDK membutuhkan folder kerja untuk output render sementara, arahkan ke lokasi yang Anda kontrol, dan jadikan pembersihan folder tersebut tanggung jawab Anda — pekerjaan terjadwal atau masa pakai yang dikelola aplikasi, bukan asumsi.
2.2 Buat endpoint unggahan
Implementasikan aksi kontroler yang menerima file yang diunggah, menulisnya ke penyimpanan apa pun yang sudah digunakan aplikasi Anda, dan mengembalikan token satu‑kali yang singkat. Token tersebut adalah apa yang akan digunakan penampil sisi klien untuk mengambil dan merender dokumen. Perhatikan bahwa penyimpanan adalah tanggung jawab Anda: Anda memberikan byte atau path ke SDK saat waktunya merender, dan SDK mengembalikan halaman kepada Anda.
2.3 Lindungi endpoint
Karena endpoint unggahan menangani data sensitif, lindungi dengan autentikasi dan otorisasi berbasis peran (misalnya, hanya pengguna dengan peran DocumentViewer yang dapat mengunggah). Validasi ekstensi dan ukuran di sisi server serta di browser, dan perlakukan byte yang diunggah sebagai input yang tidak dapat dipercaya.
Jangan lewati ini dengan asumsi bahwa SDK menanganinya. Enkripsi saat istirahat, manajemen kunci, dan pembersihan file yatim merupakan pekerjaan aplikasi Anda. Jika Anda memerlukan dokumen terenkripsi di disk, gunakan fasilitas platform yang sudah Anda percayai untuk itu — penampil bukan tempatnya.
3. Menyematkan Komponen Viewer di ASP.NET Core, MVC, atau WebForms
Dengan backend siap, inisialisasi viewer menggunakan aset dan API yang didokumentasikan untuk versi Doconut yang terpasang.
3.1 Menambahkan Bundel JavaScript
Di tata letak bersama Anda, sertakan hanya sumber daya viewer yang dijelaskan dalam dokumentasi yang sesuai dengan SDK yang terpasang. Jangan mengasumsikan nama bundel atau lokasi yang tetap di semua versi.
3.2 Membuat Tampilan Razor untuk Core/MVC
Tambahkan sebuah view (misalnya Views/Document/View.cshtml) yang berisi input file, elemen kontainer untuk viewer, dan skrip kecil yang mengunggah file yang dipilih, menerima token aman, dan menginisialisasi widget Doconut Viewer.
Skrip harus:
- Tangkap file yang dipilih dari elemen
<input type="file">. - Kirim file ke endpoint unggah menggunakan
fetchatauXMLHttpRequest. - Ketika respons yang berwenang tiba, inisialisasi viewer menggunakan API yang didukung untuk versi yang terpasang.
3.3 Setara WebForms
Pada halaman WebForms (misalnya DocumentViewer.aspx), letakkan kontrol asp:FileUpload, sebuah tombol untuk memicu unggahan, dan sebuah <div> yang akan menampung viewer. Di kode‑behind, panggil layanan Doconut untuk menyimpan file yang diunggah, memperoleh token, dan mendaftarkan skrip startup yang memanggil fungsi JavaScript (initViewer(token)) untuk membuat instance viewer.
Alasan melakukan ini: satu jalur rendering yang melayani tiga model UI .NET, tanpa apa pun yang diinstal pada mesin pengguna akhir.
4. Menyesuaikan Viewer untuk Manajemen Dokumen
Viewer dirender di dalam kontainer pada halaman Anda sendiri, sehingga aplikasi di sekitarnya sudah menjadi milik Anda. Selain itu, ambil nama opsi dan nilai default dari dokumentasi untuk versi yang Anda pasang, bukan dari tutorial mana pun, termasuk tutorial ini — antarmuka konfigurasi berubah antar rilis dan nama opsi yang dikodekan secara keras adalah hal yang paling mungkin rusak saat upgrade.
Hal‑hal yang penting untuk diputuskan di awal:
4.1 Kontrol apa yang diberikan kepada pengguna
Tentukan apakah pengguna Anda harus dapat mengunduh file asli, atau hanya membaca halaman yang dirender. Pencetakan terkontrol merupakan bagian dari viewer, bukan pembelian terpisah, sehingga aturan pencetakan adalah pertanyaan konfigurasi, bukan lisensi.
4.2 Plugin apa yang sebenarnya Anda butuhkan
Empat plugin berlisensi terpisah, dan daftarnya cukup singkat untuk diingat: Annotation, Converter, DICOM, dan Search. Konversi — DOC ke PDF dan lainnya — adalah plugin Converter. Pencarian teks adalah plugin Search. Jika Anda tidak membutuhkan keduanya, Anda tidak membeli keduanya.
4.3 Lokalisasi
Jika aplikasi Anda multibahasa, periksa apa yang ditawarkan versi yang terpasang untuk string UI viewer sebelum Anda merancang di sekitarnya.
Mengapa ini penting: viewer harus tampak sebagai bagian dari produk Anda. Apa yang tidak boleh dilakukan adalah secara diam‑diam menjanjikan kemampuan kepada pengguna yang tidak termasuk dalam lisensi yang Anda beli.
5. Menguji Integrasi pada Semua Format yang Didukung
Sebelum diluncurkan, lakukan pemeriksaan cepat untuk setiap tipe file yang Anda harapkan pengguna Anda lihat. Menggunakan viewer Doconut App, buka file contoh dari setiap format dan verifikasi bahwa rendering, navigasi, serta alat khusus berfungsi seperti yang dijelaskan.
| Format | Skenario Pengujian | Hasil yang Diharapkan |
|---|---|---|
| Laporan besar multi‑halaman dengan gambar tersemat | Gulir halus, zoom, dan rendering warna yang akurat | |
| DOCX | Dokumen Word dengan tabel dan catatan kaki | Semua teks, tabel, dan catatan kaki terlihat; tidak ada pergeseran tata letak |
| XLSX | Spreadsheet dengan diagram | Diagram dirender sebagai grafik vektor; zoom tetap jelas |
| PPTX | Set slide dengan animasi build | Setiap build pada slide dirender bertumpuk dalam satu frame — itu diharapkan, bukan kesalahan |
| DWG | Gambar teknik dengan lapisan dan referensi eksternal | Lapisan dapat diaktifkan/nonaktifkan, pengukuran jarak dan area berfungsi; xref dan font SHX tidak ada karena tidak pernah ada dalam file |
| PSD | File Photoshop berlapis | Komposit yang disimpan dirender, dengan lapisan tersembunyi tetap tersembunyi; warna tetap pada zoom |
| SVG | Grafik vektor dengan gradien | Gradien dirender dengan mulus; zoom tetap tajam |
| TIFF | Pemindaian resolusi tinggi | Gambar dimuat cepat; zoom mengungkap detail |
Uji dengan file nyata pengguna Anda, bukan dengan contoh bersih. Format yang mengejutkan orang adalah yang keanehannya terletak pada format itu sendiri — sebuah DWG yang merujuk pada empat gambar lain, spreadsheet yang nilai tersimpannya tidak pernah dihitung ulang, deck yang fontnya tidak disematkan. Viewer gratis di Doconut.app menjalankan mesin yang sama, sehingga menjadi cara cepat untuk melihat bagaimana file yang rumit muncul sebelum Anda menulis kode apa pun.
Kesimpulan
Menyematkan penampil dokumen tanpa plugin pada dasarnya melibatkan empat hal: menginstal SDK, mengamankan jalur unggah Anda sendiri, merender ke dalam sebuah kontainer di halaman Anda, dan mengonfigurasi hanya apa yang didokumentasikan oleh versi yang diinstal. Kontribusi penampil terhadap keamanan bersifat sempit dan nyata — ia berjalan di server Anda dan tidak mengirim apa pun keluar. Semua hal lain dalam daftar itu adalah milik aplikasi Anda, dan tidak ada SDK yang dapat mengambil alihnya untuk Anda.
Siap untuk mengevaluasinya? Mulailah dengan halaman unduhan dan dokumentasi Doconut resmi, kemudian uji SDK dalam tinjauan keamanan yang sama yang diterapkan pada sisa aplikasi ASP.NET berbasis Windows Anda.