.NET için bir açık kaynaklı bir dosya fileFormat.words yükleyin, c# programlı olarak docx dosyasını nasıl okuyacağınızı öğrenin. Bu API, bir kelime dosyası görüntüleyicisi oluşturmak için yöntemler sunar. {.wp-blok başlığı}
Genel Bakış
Dosya oluşturma ve manipülasyon ile ilgili iş yazılımı oluşturmak kolay değildir. Zaman ve insan saatleri kritik faktörlerdir, ancak ilgili üçüncü taraf kütüphaneleri seçmek geliştirme aşamasında hayati bir rol oynamaktadır. Bu nedenle, Word dosyalarını programlı olarak manipüle etmek için çok çeşitli yöntemler sunan açık kaynaklı bir .NET kütüphanesinden geçelim. Bu API yalnızca Word dosyaları oluşturmanıza/düzenlemenize izin vermekle kalmaz, aynı zamanda iş belgeleri/docx dosyalarını da okuyabilirsiniz. FileFormat.words hakkında konuşuyoruz, kelime belgelerini programlı olarak işlemek için gerekli eksiksiz bir özellik paketidir. Ancak, bu blog yazısı sorunuzu cevaplayacaktır (yani C#? ‘de bir DOCX dosyasını nasıl açarım). Ayrıca, bu makalenin sonuna kadar bir kelime dosyası okuyucusu oluşturabilirsiniz. Bu kılavuzdaki aşağıdaki noktaları ele alacağız:
Kelime Dosyası Görüntüleyicisi - API yüklemesi
Kurulum işlemini ayrıntılı olarak incelemek için lütfen bu link ziyaret edin. Aksi takdirde, NuGet Paket ‘i kullanarak yükleyebilir, ister Nuget Paket Yöneticisi’nde aşağıdaki komutu çalıştırarak yüklemek oldukça kolaydır.
Install-Package FileFormat.Words
C# ‘da bir Docx dosyasını nasıl açarım
Bu açık kaynaklı .NET API yüklendikten sonra, kodu hemen yazmaya başlayabilirsiniz. İş yazılımınız için bir Word dosyası okuyucu bileşeni oluşturalım. Bir DOCX/DOCS dosyasını okumak için birden fazla yöntem ve özellik vardır, ancak bazı önemli yöntemleri/özellikleri kullanacağız. Aşağıdaki adımları ve kod snippet’ini izleyebilirsiniz:
- Belge sınıfının bir örneğini başlatın ve DOCX/DOCS dosyasını yükleyin.
- Beden sınıfının bir nesnesini başlatın.
- Bir belgedeki toplam tablo sayısını döndüren getDocumentTables.count () yöntemini çağırın.
- GetDocumentTables özelliği tablo özelliklerini döndürür.
- MevcutTableHeaders özelliği tablo başlıklarını döndürür.
- Tablo satırlarına erişmek için NumberOfRows özelliğini arayın.
- Sütun sayısını almak için NumberOfcolumns özelliğini kullanın.
- NumberOfCells özelliğini kullanarak hücre sayısına erişin.
- TableBorder özelliği sınır stilini okumak için kullanılır.
- Tablonun konumunu almak için TablePosition özelliğini kullanın.
- Bir Word belgesinden tüm görüntüleri almak için ExtractiMageSfromDocument yöntemini çağırın.
- Tüm belge paragraflarını almak için getParagraflar yöntemini arayın.
- Linesspacing özelliği, çizgiler arasındaki boşluğu bilmek için kullanılır.
- Girinti mülkü girintinin değerini bilmek için kullanılır.
- Metin özelliğini çağırarak paragrafın metnini alın.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class and load the Docx/Docs file.
using (Document doc1 = new Document("/Docs.docx"))
{
// Instantiate an object of the Body class.
Body body1 = new Body(doc1);
// Invoke the getDocumentTables method that returns the total number of tables in a document.
Console.WriteLine("Total Number of Tables " + body1.getDocumentTables.Count());
int i = 0;
// The getDocumentTables property returns the table properties.
foreach (Table props in body1.getDocumentTables)
{
// The ExistingTableHeaders property returns the table headers.
foreach (string tableHeader in props.ExistingTableHeaders)
{
i++;
Console.WriteLine("Header"+i+": "+tableHeader);
}
// Call NumberOfRows property to access the table rows.
Console.WriteLine("Number of rows "+props.NumberOfRows);
// Use NumberOfColumns property to fetch number of columns.
Console.WriteLine("Number of columns " + props.NumberOfColumns);
// Access the number of cells using NumberOfCells property.
Console.WriteLine("Number of cells " + props.NumberOfCells);
Console.WriteLine("Cell width " + props.CellWidth);
// The TableBorder property is used to read the border style.
Console.WriteLine("Border style " + props.TableBorder);
// Use the TablePosition property to get the position of the table.
Console.WriteLine("Table position " + props.TablePosition);
Console.WriteLine(" ");
}
// Invoke the ExtractImagesFromDocument method to get all the images from a Word document.
List<Stream> imageParts = Image.ExtractImagesFromDocument(doc1);
int imageCount = imageParts.Count;
Console.WriteLine($"Total number of images: {imageCount}");
// Call the GetParagraphs method to retrieve all the document paragraphs.
List<Paragraph> paras = body1.GetParagraphs();
Console.WriteLine("The number of Paragraphs " + paras.Count());
foreach (Paragraph p in paras)
{
// The LinesSpacing property is used to know the spacing between the lines.
Console.WriteLine("Line spacing "+p.LinesSpacing);
// The Indent property is used to know the value of indentation.
Console.WriteLine("Indent value "+p.Indent);
// Get the text of the paragraph by calling the Text property.
Console.WriteLine(p.Text);
}
}
}
}
}
Yukarıdaki kod snippet’i bir paragraf, bir tablo ve bir görüntü içeren bir kelime dosyası okur. Ancak, çıktıyı aşağıdaki resimde görebilirsiniz:
Sonuç
Bu blog gönderisini burada bitiriyoruz. Sorunuzun cevabına sahip olduğunuzu umuyoruz (yani C#? ‘de bir DOCX dosyasını nasıl açarım). Ayrıca, mevcut bir kelime belgesini programlı olarak okuyan kod snippet’inden geçtik. Şimdi, Word Dosya Görüntüleyicisi gibi çalışan bir modül oluşturabilirsiniz. Ayrıca. Son olarak, FileFormat.com diğer konularda blog yayınları yazmaya devam ediyor. Dahası, bizi Facebook, LinkedIn ve Twitter dahil olmak üzere sosyal medya platformlarımızda takip edebilirsiniz.
katkıda bulun
Çünkü [.NET] için FileFormat.Words açık kaynaklı bir projedir ve GitHub ‘da mevcuttur. Dolayısıyla, topluluktan katkı çok takdir ediliyor.
Bir soru sorun
Forum ‘da sorularınızı veya sorgularınızı bize bildirebilirsiniz.
Sık Sorulan Sorular-SSS {.wp-blok başlık}
** Bir Docx dosyasını kelime olmadan nasıl açarım?** Bu Open-Source .NET Kütüphanesi FileFormat.Words kullanarak DOCX/DOCS dosyalarını açabilirsiniz. Ayrıca, bu kütüphane kullanarak iş uygulamanız için bir Word Dosyası Okuyucu modülü oluşturabilirsiniz.