کتابخانه دات نت برای ایجاد اسناد پردازش کلمه

خواندن، نوشتن، دستکاری و تبدیل فایل‌های Word، ایجاد جداول در DOCX از طریق منبع باز .NET API.

Open XML SDK یک API منبع باز است که توسط مایکروسافت توسعه یافته و تحت کد رفتار منبع باز مایکروسافت برای دستکاری اسناد پردازش کلمه از جمله توزیع شده است. DOCX،  DOTX،  DOCM،  DOTM

با استفاده از API، می‌توانید متن، سرصفحه، پاورقی، یادداشت‌های پایانی، پانوشت‌ها، سبک‌ها، تم‌ها و موارد دیگر را اضافه کنید. این به شما امکان می دهد اسناد word با کارایی بالا تولید کنید و داده ها را از آنها استخراج کنید. API از پلتفرم های مختلف دات نت از جمله، .NET 3.5، .NET 4.0، .NET 4.6 و .NET Standard 1.3 پشتیبانی می کند.

Previous Next

شروع با Open XML SDK

اول از همه، شما باید دات نت فریم ورک 3.5 یا بالاتر داشته باشید. پس از آن، لطفاً مخزن را به صورت دستی از GitHub دانلود کنید یا آن را از NuGet.

نصب XML SDK را از NuGet باز کنید

 Install-Package DocumentFormat.OpenXml

دستکاری فایل DOCX با استفاده از C#

Open XML SDK به برنامه نویسان دات نت اجازه می دهد تا پردازش کلمه را از برنامه های دات نت خود ایجاد و همچنین ویرایش کنند. به منظور اصلاح یک فایل موجود، می توانید یک فایل موجود را باز کنید و تغییراتی مانند متن، پاراگراف، جداول و موارد دیگر را اضافه کنید.

اضافه کردن پاراگراف در DOCX - C#

// Open an existing word processing document
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("fileformat.docx", true))
{
  Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
  // Add paragraph
  Paragraph para = body.AppendChild(new Paragraph());
  Run run = para.AppendChild(new Run());
  run.AppendChild(new Text("File Format Developer Guide"));
}

ایجاد جدول در DOCX با استفاده از C#

API به توسعه دهندگان اجازه می دهد تا جدولی را در اسناد پردازش ورد اضافه کنند. شما می توانید یک جدول اضافه کنید، ویژگی های جدول را تنظیم کنید، جدول جدول را تنظیم کنید، و ویژگی های شبکه ستون را تنظیم کنید. علاوه بر این، می توانید سلول ها و ردیف های جدول را به ترتیب با استفاده از کلاس های TableCell و TableRow مدیریت کنید.

ایجاد جدول در DOCX - C#

// Open an existing word processing document
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open("fileformat.docx", true))
{
  Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
  // Create a table.
  Table table = new Table();
  // Set the style and width for the table.
  TableProperties tableProperties = new TableProperties();
  TableStyle tableStyle = new TableStyle() { Val = "TableGrid" };
  // Make the table width 100% of the page width.
  TableWidth tableWidth = new TableWidth() { Width = "5000", Type = TableWidthUnitValues.Pct };
  // Apply
  tableProperties.Append(tableStyle, tableWidth);
  table.AppendChild(tableProperties);
  // Add columns
  TableGrid tableGrid = new TableGrid(new GridColumn(), new GridColumn(), new GridColumn());
  table.AppendChild(tableGrid);
  // Create 1 row to the table.
  TableRow tableRow = new TableRow();
  // Add a cell to each column in the row.
  TableCell tableCell = new TableCell(new Paragraph(new Run(new Text("Column 1"))));
  TableCell tableCell1 = new TableCell(new Paragraph(new Run(new Text("Column 2"))));
  //Append data
  tableRow.Append(tableCell, tableCell1);
  // Add row to the table.
  table.AppendChild(tableRow);
  // Add the table to the document
  body.AppendChild(table);
}

سرصفحه ها و پاورقی ها در سند پردازش کلمه

سازماندهی مناسب اسناد بسیار مهم است و نیاز هر سازمانی است. سرصفحه ها و پاورقی ها بخش های کلیدی اسناد هستند که می توانند با قرار دادن برخی اطلاعات اضافی مانند تاریخ های مربوطه، موضوعات، نام نویسنده، تصاویر، شماره صفحات و غیره به سازماندهی مناسب اسناد پردازش کلمه کمک کنند. همچنین از افزودن هدرهای متعدد پشتیبانی می کند.

هدرها را در سند Word مدیریت کنید

 
public static void ApplyHeader(WordprocessingDocument doc)
{
  // Get the main document part.
  MainDocumentPart mainDocPart = doc.MainDocumentPart;
  HeaderPart headerPart1 = mainDocPart.AddNewPart("r97");
  Header header1 = new Header();
  Paragraph paragraph1 = new Paragraph(){ };
  Run run1 = new Run();
  Text text1 = new Text();
  text1.Text = "Header stuff";
  run1.Append(text1);
  paragraph1.Append(run1);
  header1.Append(paragraph1);
  headerPart1.Header = header1;
  SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants().FirstOrDefault();
  if (sectionProperties1 == null)
  {
  sectionProperties1 = new SectionProperties() { };
  mainDocPart.Document.Body.Append(sectionProperties1);
  }
  HeaderReference headerReference1 = new HeaderReference() { Type = HeaderFooterValues.Default, Id = "r97" };
  sectionProperties1.InsertAt(headerReference1,0);
}

مدیریت پاورقی ها در سند Word

 
public static void ApplyFooter(WordprocessingDocument doc)
{
  // Get the main document part.
  MainDocumentPart mainDocPart = doc.MainDocumentPart;
  FooterPart footerPart1 = mainDocPart.AddNewPart("r98");
  Footer footer1 = new Footer();
  Paragraph paragraph1 = new Paragraph() { };
  Run run1 = new Run();
  Text text1 = new Text();
  text1.Text = "Footer stuff";
  run1.Append(text1);
  paragraph1.Append(run1);
  footer1.Append(paragraph1);
  footerPart1.Footer = footer1;
  SectionProperties sectionProperties1 = mainDocPart.Document.Body.Descendants().FirstOrDefault();
  if (sectionProperties1 == null)
  {
    sectionProperties1 = new SectionProperties() { };
    mainDocPart.Document.Body.Append(sectionProperties1);
  }
  FooterReference footerReference1 = new FooterReference() { Type = DocumentFormat.OpenXml.Wordprocessing.HeaderFooterValues.Default, Id = "r98" };
  sectionProperties1.InsertAt(footerReference1, 0);
}
 فارسی