Düzenlenebilir Belgelerin Gelişmiş Kullanımı
giriiş
Belge düzenleme yeteneklerinizi geliştirmek isteyen bir .NET geliştiricisiyseniz, GroupDocs.Editor for .NET güçlü bir araç paketi sunar. Bu kapsamlı kılavuz, GroupDocs.Editor’ı kullanarak düzenlenebilir belgelerin gelişmiş kullanımı konusunda size yol gösterecek ve tüm potansiyelinden yararlanabilmenizi sağlamak için her adımı ayrıntılı olarak ele alacaktır.
Önkoşullar
Gelişmiş işlevlere dalmadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Geliştirme makinenizde Visual Studio yüklü.
- .NET Framework, GroupDocs.Editor ile uyumludur.
- .NET kitaplığı için GroupDocs.Editor. Yapabilirsinizburadan indir.
- Geçerli bir GroupDocs.Editor lisansı. Alabilirsinücretsiz deneme veya bir satın alıngeçici lisans.
Ad Alanlarını İçe Aktar
Başlamak için .NET projenize gerekli ad alanlarını içe aktardığınızdan emin olun:
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Editor.HtmlCss.Resources;
using GroupDocs.Editor.HtmlCss.Resources.Fonts;
using GroupDocs.Editor.HtmlCss.Resources.Images;
using GroupDocs.Editor.HtmlCss.Resources.Textual;
using GroupDocs.Editor.Options;
1. Adım: EditableDocument Örneği Oluşturma
İlk önce bir örneğini oluşturmanız gerekir.EditableDocument
desteklenen formattaki bir giriş belgesini yükleyip düzenleyerek.
string inputFilePath = "YourSampleDocument.docx";
Editor editor = new Editor(inputFilePath, delegate { return new WordProcessingLoadOptions(); });
EditableDocument beforeEdit = editor.Edit(new WordProcessingEditOptions());
Bu adımda giriş dokümanını yükleyip düzenlemeye hazırlıyoruz.
Adım 2: Belge Kaynaklarının Çıkarılması
EditableDocument
Çıkarılabilen ve değiştirilebilen çeşitli kaynaklar içerir. Bunları parçalayalım:
Adım 2.1: Tüm Belgeyi HTML Olarak Çıkarın
Tüm kaynakları HTML olarak katıştırılmış olarak belgenin tamamını içeren tek bir dize oluşturabilirsiniz.
string allAsHtmlInsideOneString = beforeEdit.GetEmbeddedHtml();
Bu dize, base64’te kodlanmış stil sayfalarını, görüntüleri ve yazı tiplerini içerdiğinden oldukça büyük olacaktır.
Adım 2.2: Tüm Görüntüleri Çıkarın
Belgedeki tüm görüntüleri çıkarın.
List<IImageResource> allImages = beforeEdit.Images;
Adım 2.3: Tüm Yazı Tiplerini Çıkarın
Belgede kullanılan tüm yazı tiplerini çıkarın.
List<FontResourceBase> allFonts = beforeEdit.Fonts;
Adım 2.4: Tüm Stil Sayfalarını Çıkarın
Tüm stil sayfalarını metin biçiminde çıkarın.
List<CssText> allStylesheets = beforeEdit.Css;
Adım 2.5: Tüm Kaynakları Toplayın
Tüm kaynakları tek bir çağrıda toplayın.
List<IHtmlResource> allResources = beforeEdit.AllResources;
Buna görseller, yazı tipleri ve stil sayfaları dahildir.
Adım 2.6: HTML İşaretlemesini Alın
Gömülü kaynaklar olmadan belgenin HTML işaretlemesini alın.
string htmlMarkup = beforeEdit.GetContent();
3. Adım: Dış Bağlantıları Ayarlama
Bazen harici bağlantıları özel bir kaynak işleyicisine işaret edecek şekilde ayarlamanız gerekir. Bunu nasıl yapacağınız aşağıda açıklanmıştır:
Adım 3.1: Özel Önekler Hazırlayın
Orijinal dış bağlantıların başına eklenecek önekleri hazırlayın.
string customImagesRequesthandlerUri = "http://example.com/ImagesHandler/id = ";
string customCssRequesthandlerUri = "http://example.com/CssHandler/id = ";
string customFontsRequesthandlerUri = "http://example.com/FontsHandler/id = ";
Adım 3.2: Önekli HTML İşaretlemesi Oluşturun
Ayarlanmış bağlantılarla HTML işaretlemesi oluşturun.
string prefixedHtmlMarkup = beforeEdit.GetContent(customImagesRequesthandlerUri, customCssRequesthandlerUri);
Adım 3.3: Yalnızca Gövde HTML İçeriğini Alın
Bazı WYSIWYG düzenleyicileri yalnızca başlıklar olmadan saf HTML işaretlemesini işler.
string onlyBodyContent = beforeEdit.GetBodyContent();
Adım 3.4: Önekli Yalnızca Gövde İçeriği
Özel görüntü önekleriyle yalnızca gövde içeriği oluşturun.
string prefixedBodyContent = beforeEdit.GetBodyContent(customImagesRequesthandlerUri);
Adım 3.5: Stil Sayfalarını Çıkarın
Belgede kullanılan stil sayfalarını çıkarın.
List<string> stylesheets = beforeEdit.GetCssContent();
Adım 3.6: Önekli Stil Sayfaları
Stil sayfalarını özel öneklerle çıkarın.
List<string> prefixedStylesheets = beforeEdit.GetCssContent(customImagesRequesthandlerUri, customFontsRequesthandlerUri);
Adım 4: Belgeyi HTML olarak kaydedin
Düzenlenen belgeyi kaynaklarıyla birlikte bir HTML dosyası olarak kaydedin.
string htmlFilePath = Path.Combine("output", Path.GetFileNameWithoutExtension(inputFilePath) + ".html");
beforeEdit.Save(htmlFilePath);
Bu yöntem stil sayfaları, resimler ve yazı tipleri gibi kaynaklar için ayrı bir dizin oluşturur.
Adım 5: EditableDocument’in İmha Edilmesi
EditableDocument uygularIDisposable
ve örneğin atılıp atılmadığını kontrol etme olanağı sağlar.
Console.WriteLine("EditableDocument is {0} disposed", !beforeEdit.IsDisposed ? "not" : "already");
Adım 5.1 Atma Olayını İşleme
Ayrıca imha etkinliğine abone olabilirsiniz.
EventHandler someMethod = delegate { Console.WriteLine("Disposing event was spotted!"); };
beforeEdit.Disposed += someMethod;
Adım 6: HTML’den EditableDocument Oluşturma
Bir HTML belgesinden EditableDocument örneğini oluşturun.
Adım 6.1: HTML Dosyasından
EditableDocument afterEditFromFile = EditableDocument.FromFile(htmlFilePath, null);
Adım 6.2: HTML İşaretlemesinden
EditableDocument afterEditFromMarkup = EditableDocument.FromMarkup(htmlMarkup, allResources);
Bu örnekler (afterEditFromFile ve afterEditFromMarkup) orijinaliyle (beforeEdit) aynıdır.
Adım 7: Manuel İmha
EditableDocument örneklerinizi manuel olarak atın.
beforeEdit.Dispose();
afterEditFromFile.Dispose();
afterEditFromMarkup.Dispose();
editor.Dispose();
Bu, kaynakların uygun şekilde temizlenmesini sağlar.
Çözüm
GroupDocs.Editor for .NET, belgeleri programlı olarak düzenlemek için güçlü araçlar sağlar. Bu adım adım kılavuzu izleyerek belge içeriğini, kaynakları ve çıktı formatlarını verimli bir şekilde yönetebilirsiniz. İster kaynak ekliyor olun, ister harici bağlantıları ayarlayın, ister belgeleri HTML’ye dönüştürün, GroupDocs.Editor sizi gelişmiş belge işleme için gereken işlevsellikle donatır.
SSS’ler
GroupDocs.Editor hangi formatları destekler?
GroupDocs.Editor, DOCX, XLSX, PPTX ve daha fazlasını içeren çeşitli formatları destekler.
GroupDocs.Editor’ı lisans olmadan kullanabilir miyim?
Evet, bunu bir ile kullanabilirsinizücretsiz deneme veya birgeçici lisans.
Bir belgeden belirli kaynakları nasıl çıkarabilirim?
Aşağıdaki gibi sağlanan yöntemleri kullanarak görüntüleri, yazı tiplerini ve stil sayfalarını çıkarabilirsiniz.Images
, Fonts
, VeCss
.
HTML çıktısındaki bağlantıları ayarlamak mümkün mü?
Evet, görseller, CSS ve yazı tipleri için özel önekler belirterek harici bağlantıları ayarlayabilirsiniz.
Düzenlenmiş bir belgeyi HTML dosyası olarak nasıl kaydederim?
KullanSave
yöntemiEditableDocument
Belgeyi, kaynakları da dahil olmak üzere bir HTML dosyası olarak kaydetmek için sınıf.