Giriş
Aspose.Words FOSS for .NET artık mevcut: saf C# içinde Microsoft Word kurulumu gerektirmeden Word belgeleri oluşturmak, okumak ve düzenlemek için ücretsiz, açık kaynaklı bir .NET kütüphanesi. Bu, şablonlardan rapor ve mektup üretmesi, mevcut .docx dosyalarından içeriği okuması ve yeniden yapılandırması veya bir iş akışının parçası olarak Word belgelerini Markdown ya da düz metne dönüştürmesi gereken, ticari bir SDK lisansı almadan çalışan geliştiriciler için tasarlanmıştır.
Kütüphane MIT lisansı altında yayınlanmıştır ve yerel bağımlılıkları yoktur — her şey yönetilen kodda çalışır. .NET Standard 2.0 hedeflenmiştir, bu yüzden .NET Framework 4.6.2+ ve .NET 6, 8 ve 10 üzerinde, Windows, Linux ve macOS’ta çalışır. NuGet aracılığıyla kurun veya tek bir dotnet build komutuyla kaynak koddan kütüphaneyi oluşturun (aşağıdaki Hızlı Başlangıç bölümüne bakın).
Bunu tipik yeni bir açık kaynak belge kütüphanesinden ayıran şey, bir yeniden yazım ya da bir sarmalayıcı olmamasıdır. Aspose.Words FOSS for .NET, gerçek Aspose.Words kod tabanıdır — 2003’ten beri üretimde Word belgelerini işleyen aynı belge motoru — ücretsiz, MIT lisanslı bir çekirdeğe indirgenmiştir. Bu sürümün ötesine geçen ve sayfa düzeni, renderleme veya ek format dönüştürücülere ihtiyaç duyan geliştiriciler, ticari sürüme geçebilirler. Aspose.Words için .NET kodlarını yeniden yazmadan, çünkü aynı temel API kullanılıyor.
Temel Özellikler
Belge Oluşturma ve Düzenleme
Belgeleri sıfırdan new Document() ve yüksek seviyeli DocumentBuilder ile oluşturun ya da mevcut .docx dosyalarını new Document(fileName) ile açın. DocumentBuilder, içerik eklenirken uygulanan Write(), Writeln(), InsertParagraph() ve InsertBreak() gibi sıralı yazım yöntemleri ile (Font, ParagraphFormat, PageSetup) biçimlendirme özellikleri sağlar. Daha düşük seviyeli erişim için, belge ağacını Section, Paragraph, Run ve Table düğümleri üzerinden doğrudan gezebilir veya tek bir geçişte her düğüm tipini işlemek için DocumentVisitor sınıfını alt sınıf olarak oluşturabilirsiniz.
Tablolar ve Listeler
Tablolar Table, Row ve Cell düğümlerinden oluşturulur. Table.SetBorders(), Table.SetShading() ve Table.AutoFit() bir tabloyu bir kerede biçimlendirirken, Table.Rows ve satır bazında Cell erişimi daha ince kontrol sağlar. Numaralı ve madde işaretli listeler ListCollection ve ListFormat aracılığıyla yönetilir: ListFormat.ApplyBulletDefault() veya ApplyNumberDefault() ile yerleşik bir stil uygulayın ya da ListCollection.Add() ile özel bir liste tanımı kaydedin.
İzlenen Değişiklikler ve Belge Koruması
Düzenlemeye başlamadan önce eklemeleri, silmeleri ve biçimlendirme değişikliklerini kaydetmek için Document.StartTrackRevisions() çağırın, ardından bunları RevisionCollection aracılığıyla inceleyin, kabul edin veya reddedin (AcceptAll(), RejectAll(), Accept(criteria), Reject(criteria)), ya da hepsini bir kerede Document.AcceptAllRevisions() ile kabul edin. Document.Protect() şifre koruması veya yalnızca okuma zorlamasını DocumentSecurity enum’ı (ReadOnlyEnforced, ReadOnlyRecommended, PasswordProtected ve ilgili değerler) kullanarak uygular ve Document.Unprotect() bunu tersine çevirir.
Alanlar, Makrolar ve Dijital İmzalar
Alan değerlendirme motoru, Document.UpdateFields() aracılığıyla FieldDate (DATE alanı) ve FieldDocProperty (DOCPROPERTY alanı) gibi alanları yerinde günceller — sayfa numaraları gibi sayfa düzenine bağlı alanlar, sayfa düzeni bu sürümde bulunmadığından yer tutucu değerler döndürür. DOCM ve DOTM dosyaları VBA projeleri bozulmadan döngü içinde kullanılabilir. Mevcut dijital imzalar DigitalSignatureCollection ve DigitalSignature (IsValid, SubjectName, IssuerName, SignTime) aracılığıyla incelenerek belgenin imzalı olup olmadığı ve değiştirilip değiştirilmediği doğrulanabilir; yeni imzalar oluşturmak bu sürümün bir parçası değildir.
Grafikler
DocumentBuilder.InsertChart() ile bir belgeye grafik ekleyin, ardından döndürülen Chart nesnesi aracılığıyla veri serilerini yapılandırın.
using Aspose.Words;
using Aspose.Words.Drawing.Charts;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
// Delete default generated series.
chart.Series.Clear();
string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });
doc.Save("chart.docx");
Hızlı Başlangıç
Aspose.Words .NET için FOSS, NuGet aracılığıyla mevcuttur:
dotnet add package Aspose.Words.FOSSKaynak kodundan derlemek için:
git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release
Ardından uygulamanızdan Aspose.Words.csproj için bir proje referansı ekleyin. Referans eklendikten sonra, bir grafik içeren bir belge oluşturun ve DOCX olarak kaydedin:
using Aspose.Words;
using Aspose.Words.Drawing.Charts;
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
// Delete default generated series.
chart.Series.Clear();
string[] categories = new string[] { "AW Category 1", "AW Category 2", "AW Category 3" };
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });
doc.Save("chart.docx");
Console.WriteLine("Saved chart.docx");
Desteklenen Biçimler
| Biçim | Uzantı | Okuma | Yazma |
|---|---|---|---|
| DOCX | .docx | ✓ | ✓ |
| DOCM | .docm | ✓ | ✓ |
| DOTX | .dotx | ✓ | ✓ |
| DOTM | .dotm | ✓ | ✓ |
| Düz OPC (tüm varyantlar) | (çeşitli) | ✓ | ✓ |
| Markdown | .md | ✓ | ✓ |
| Text | .txt | ✓ | ✓ |
Bu sürüm, sayfa düzeni ve renderlamayı kasıtlı olarak dışarıda bırakır — PDF, XPS veya görüntü dışa aktarma yok ve yazdırma yok, bu da sayfa numaraları gibi düzen bağımlı alan değerlerinin yer tutucu olarak değerlendirilip hesaplanmadığı anlamına gelir. Ek format dönüştürücüler (DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 ve WordML) okunmaz veya yazılmaz, ve mail merge execution, LINQ Reporting, document comparison, creating new digital signatures, ve embedded-font subsetting dahil edilmez. Bunlar, bu sürümün ücretsiz kalması için ticari kod tabanından kaldırılan aynı alt sistemlerdir.
Açık Kaynak & Lisanslama
Aspose.Words .NET için FOSS, MIT lisansı altında yayımlanmıştır, ticari ve kişisel kullanım için ücretsiz, telif ücreti veya yeniden dağıtım kısıtlaması yoktur. Tam kaynak GitHub’da mevcuttur içinde Aspose.Words .NET deposu için FOSS.