نمایش فایل‌های Word در برنامه‌های WPF سی‌شارپ


در دنیای برنامه‌نویسی، یکی از نیازهای رایج، نمایش و ویرایش فایل‌های Word است. در برنامه‌های WPF (Windows Presentation Foundation)، این امر، نیازمند درک عمیق‌تر درباره نحوه‌ی ارتباط با فایل‌های Word و پیاده‌سازی آن در رابط کاربری است. بنابراین، در این متن قصد دارم، به صورت جامع و کامل، درباره نمونه سورس کد نمایش فایل Word در محیط WPF سی‌شارپ صحبت کنم. این موضوع، شامل استفاده از کتابخانه‌های مختلف، روش‌های خواندن محتوا، و نحوه‌ی نمایش آن در برنامه‌های ویندوز است.
مقدمه
ابتدا باید بدانیم که فایل‌های Word، با پسوندهای DOCX یا DOC، قالب‌های پیچیده‌ای دارند که شامل متن، جداول، عکس‌ها، فرمول‌ها و عناصر دیگر است. نمایش این محتوا، نیازمند ابزارهای خاص و یا کتابخانه‌های قدرتمند است که بتوانند این نوع فایل‌ها را به صورت قابل نمایش در برنامه‌های WPF، تبدیل و نمایش دهند. یکی از روش‌های متداول، استفاده از Microsoft Office Interop است، اما این روش، مشکلاتی مانند وابستگی به نصب Office روی سیستم و پیچیدگی‌های مدیریت منابع دارد. بنابراین، راه‌حل‌های جایگزینی وجود دارد که کارایی و انعطاف بیشتری ارائه می‌دهند.
کتابخانه‌های مورد نیاز
در این مسیر، یکی از محبوب‌ترین کتابخانه‌ها، Microsoft Office Interop است، ولی به دلیل مشکلات ذکر شده، بسیاری ترجیح می‌دهند از کتابخانه‌های دیگری مانند Open XML SDK، و یا کتابخانه‌های شخص ثالث مانند Spire.Doc، Aspose.Words، یا GemBox.Document استفاده کنند. این کتابخانه‌ها، امکانات متنوعی برای خواندن، ویرایش، و نمایش فایل‌های Word در برنامه‌های WPF فراهم می‌آورند.
به عنوان نمونه، در این متن، قصد دارم از کتابخانه‌ی GemBox.Document استفاده کنیم. چرا؟ چون این کتابخانه، رایگان تا حد مشخصی دارد، ساده است، و قابلیت‌های زیادی در زمینه‌ی خواندن و نمایش فایل‌های Word دارد. البته، می‌توانید بر اساس نیاز خود، از کتابخانه‌های دیگر نیز بهره‌مند شوید.
نصب کتابخانه GemBox.Document
برای استفاده از این کتابخانه، ابتدا باید آن را نصب کنید. این کار، با استفاده از NuGet Package Manager امکان‌پذیر است:


Install-Package GemBox.Document


پس از نصب، باید کلید مجوز رایگان یا لایسنس مناسب را وارد کنید. برای نسخه رایگان، محدودیت‌هایی وجود دارد، ولی برای پروژه‌های نمونه، کافی است.
کد نمونه برای بارگذاری فایل Word
حالا، بیایید نگاهی بیندازیم به نمونه کد برای بارگذاری و نمایش فایل Word در WPF. فرض می‌کنیم، یک کنترل RichTextBox در رابط کاربری دارید که می‌خواهید متن فایل Word را در آن نمایش دهید.
csharp  

using GemBox.Document;

using System.IO;
public void LoadAndDisplayWordFile(string filePath, RichTextBox richTextBox)

{

// تنظیم لایسنس

ComponentInfo.SetLicense("FREE-LIMITED-KEY");
// بارگذاری فایل Word

var document = DocumentModel.Load(filePath);
// استخراج متن از فایل

var stringBuilder = new StringBuilder();
foreach (var block in document.GetChildElements(true))

{

if (block.ElementType == ElementType.Paragraph)

{

var paragraph = (Paragraph)block;

foreach (var inline in paragraph.Inlines)

{

if (inline.ElementType == ElementType.Run)

{

var run = (Run)inline;

stringBuilder.Append(run.Text);

}

}
... ← ادامه مطلب در magicfile.ir