
ASP.NET Core'da DOCX Görüntüleyici: Word Dosyalarını Önizleme
ASP.NET Core uygulaması içinde bir Word belgesini önizlemek için, dosyayı sunucuda işleyen ve sayfalarını tarayıcıda gösteren bir DOCX görüntüleyici SDK'sı kullanın. Doconut, bu iş akışını sunucuda Microsoft Word gerektirmeden sağlar. Kullanıcılarınız, ayrı bir masaüstü programı açmak yerine, uygulamanız içinde bir sözleşme, teklif veya raporu okuyabilir.

İlginç soru, demo dosyasını kendi belgelerinizle değiştirdiğinizde ne olacağıdır. Bir sözleşme özel yazı tipleri, tekrarlayan başlıklar, geniş tablolar ve imza sayfaları içerebilir. Bu kılavuz, .NET 8 uygulaması için belge açma adımını ve sonucu değerlendirmenize yardımcı olacak kontrolleri gösterir.
C#'tan bir DOCX dosyası açma
Servisleri, ASP.NET oturumunu, belge ara katmanını, görüntüleyici kaynaklarını ve tarayıcı widget'ını yapılandırmak için Doconut .NET 8 hızlı başlangıç ile başlayın. Aşağıdaki uç nokta, yapılandırılmış uygulamayı genişletir; tam bir bağımsız uygulama değildir.
Uygulamanın içerik kökünün altında App_Data/Sample.docx konumuna hassas olmayan bir test belgesi yerleştirin. Bu uç noktayı app.Run()'dan önce ekleyin:
using Doconut;
app.MapPost("/api/preview-word", async (
Viewer viewer,
IWebHostEnvironment environment) =>
{
var filePath = Path.Combine(
environment.ContentRootPath, "App_Data", "Sample.docx");
if (!File.Exists(filePath))
return Results.NotFound();
var token = await viewer.OpenDocumentAsync(filePath);
return Results.Ok(new { token });
});
Program.cs dosyasının üst kısmındaki diğer importlarla birlikte using yönergesini tutun. Sabit yol, örneği yeniden üretmeyi kolaylaştırır ve tarayıcıdan rastgele bir sunucu yolu kabul edilmesini önler.
Viewer API referansı OpenDocumentAsync'in dosya yolu aşırı yüklemesini belgeler. Dosyayı açar ve bir belge oturumu belirteci döndürür. Hızlı başlangıcın zaten objViewer'ı başlattığı sayfada, önizlemeyi şu şekilde açın:
async function previewWordDocument() {
const response = await fetch('/api/preview-word', {
method: 'POST'
});
if (!response.ok) {
throw new Error('The Word preview could not be opened.');
}
const { token } = await response.json();
objViewer.View(token);
}
Bu işlevi sayfanızın önizleme eyleminden çağırın ve hataları uygulamanın mevcut hata arayüzü üzerinden gösterin. Bu örnekte isteği, görüntüleyiciyle aynı uygulama kökeninde tutun.
Belge erişimini uygulama kontrolü altında tutma
Bir müşteri portalında, sabit örneği uygulamanızın seçtiği bir belge kaydıyla değiştirin. Depolama konumunu çözümlemeden ve belgeyi açmadan önce geçerli kullanıcının bu kaydı görüntüleyebileceğini kontrol edin. Tarayıcıdan alınan bir dosya adı bir yetkilendirme kararı değildir.
Korunan orijinal dosyaları genel web kökünün dışına depolayın. Örnekteki App_Data klasörü bir depolama konvansiyonudur, erişim kontrol özelliği değildir: statik dosya eşlemesiyle ortaya çıkarmayın. Kimlik doğrulama ve belge izinlerini ana uygulamada tutun.
Tarayıcı, belge oturumu için bir görüntüleme belirteci alır. Bu belirteci kalıcı bir belge URL'si yerine bir kimlik bilgisi olarak ele alın. Hızlı başlangıç, okuyucu ayrıldığında veya başka bir dosya açtığında belgeyi kapatmayı da kapsar.
Temsilci dosyalarla Word düzenini test etme
Boş bir DOCX, müşterilerinizin kullandığı belgeler hakkında pek bir şey kanıtlamaz. Hassas bilgileri kaldırarak, uygulamanızın görüntülemesi gereken gerçek şablonlardan küçük bir değerlendirme seti oluşturun.
| Test belgesi | Önizlemede ne kontrol edilmeli |
|---|---|
| Başlık ve altbilgi içeren sözleşme | Tekrarlanan içerik, sayfa numaraları ve imza sayfası konumu |
| Kurumsal bir yazı tipi kullanan teklif | Yazı tipi ikamesi, satır kaydırma ve başlık genişlikleri |
| Geniş veya iç içe tablolar içeren rapor | Sütun genişlikleri, satır bölme ve sayfa kenarlarında kesilen metin |
| Dikey ve yatay bölümler karışık belge | Sayfa boyutları ve bölümler arasındaki geçiş |
| Görsel ağırlıklı kılavuz | Görsel yerleşimi, alt yazılar ve yakınlaştırıldığında okunabilirlik |
Oluşturulan sonucu onaylanmış kaynak belgeyle karşılaştırın. Entegrasyonu taahhüt etmeden önce iş akışınız için hangi farklılıkların önemli olduğuna karar verin.
Doconut, WordConfig aracılığıyla Word'e özgü render ayarlarını ortaya çıkarır. format yapılandırma referansı ek yazı tipi dizinleri için FontFolders, kağıt boyutu ayarları ve tablo uyumu için AutoFitAllTables içerir. Bunları kasıtlı olarak değiştirin: bir tabloyu mevcut genişliğe sığdırmak, korumaya çalıştığınız düzeni de değiştirebilir.
Denetimleri dağıtım sunucusunda tekrarlayın. Geliştiricinin makinesine kurulu bir yazı tipi kullanan bir önizleme, sunucuda o yazı tipi bulunmadığında farklı görünebilir. Organizasyonunuzun dağıtımına izin verilen yazı tiplerini kullanın.
Görünüm, düzenleme ve dönüşümü ayrı ayrı seçme
Bir DOCX önizlemesi okuma adımını çözer. Uygulamanızı bir Word oluşturma ortamına dönüştürmez.
- Okuma: birinin bir dava, sipariş veya müşteri kaydı içinde mevcut bir belgeyi incelemesi gerektiğinde görüntüleyiciyi kullanın.
- Düzenleme: kullanıcıların paragrafları yeniden yazması ve güncellenmiş bir DOCX kaydetmesi gerekiyorsa, düzenleme iş akışını ayrı değerlendirin. Bir dosyayı önizlemek, Word düzenleme desteğinin kanıtı değildir.
- Dönüştürme: gereksinim başka bir formatta indirilebilir bir dosya ise, dışa aktarma iş akışını sayfaları görüntülemeden ayrı olarak değerlendirin.
Word viewer for .NET genel bakışı Doconut'un Word ailesi görüntüleme yolunu açıklar. Ürün uyumunu kontrol etmek için bunu kullanın, ardından uygulamanız için önemli olan render davranışını değerlendirmek üzere kendi dosyalarınızı kullanın.
Görüntüleyiciyi en zor belgenizle önce değerlendirin
Zaten destek taleplerine yol açan bir belgeyle başlayın: uzun bir sözleşme, tablo ağırlıklı bir rapor veya alışılmadık yazı tiplerine sahip bir şablon. Önizlemeyi kontrol edin, birkaç sayfada gezin, yeni bir oturumda yeniden açın ve çevredeki uygulamanın doğru belge izinlerini zorladığını doğrulayın.
Doconut'ı İndir ve .NET 8 örneğini o dosyayla çalıştırın. Başarılı bir değerlendirme, kullanıcıların aslında aldıkları belgeleri, ekibinizin gözden geçirdiği bir düzenle okuyabildiğini ve uygulamanızın sürdürebileceği bir entegrasyonu gösterir.