اتوماسیون کلمات در پایتون

فایل های MS Word به شدت برای ایجاد انواع اسناد مانند فاکتورها، گزارش ها، مقالات فنی و غیره استفاده می شوند. اتوماسیون اسناد به کاربران کمک کرده است تا اسناد Word را به صورت پویا از داخل پورتال های وب یا دسکتاپ خود تولید کنند. بنابراین، در این مقاله به نحوه تولید اسناد Word در پایتون بدون MS Office خواهیم پرداخت. علاوه بر این، یاد خواهید گرفت که چگونه یک فایل DOCX یا DOC ایجاد کنید و متن یا عناصر دیگر را به صورت پویا با استفاده از پایتون به آن اضافه کنید.

Python API برای ایجاد اسناد Word

برای ایجاد اسناد Word به صورت پویا، از Aspose.Words برای پایتون استفاده می کنیم. این یک کتابخانه قدرتمند پایتون است که به شما امکان ایجاد و دستکاری اسناد MS Word را می دهد. می توانید کتابخانه را در برنامه پایتون خود از PyPI با استفاده از دستور pip زیر نصب کنید.

pip install aspose-words

یک فایل Word DOCX یا DOC در پایتون ایجاد کنید

در زیر مراحل ایجاد یک سند Word از ابتدا در پایتون آمده است.

  • یک شی از کلاس Document ایجاد کنید.
  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • با استفاده از متد ()DocumentBuilder.write متن را در سند وارد کنید.
  • سند Word را با استفاده از متد ()Document.save ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک سند Word DOCX را نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document()

# یک شی سازنده سند ایجاد کنید
builder = aw.DocumentBuilder(doc)

# متن را به سند اضافه کنید
builder.write("Hello world!")

# ذخیره سند
doc.save("out.docx")

خروجی

ایجاد سند ورد پایتون

یک سند Word موجود را در پایتون بارگیری کنید

همچنین می توانید یک سند Word موجود را با ارائه مسیر آن به سازنده سند بارگذاری کنید. نمونه کد زیر نحوه بارگذاری یک سند Word را نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document("document.docx")

# دستکاری سند

# ذخیره سند
doc.save("out.docx")

با استفاده از پایتون یک پاراگراف در سند Word وارد کنید

اسناد Word حاوی متنی در قالب پاراگراف هستند. بنابراین، در این بخش نحوه درج یک پاراگراف در سند Word با استفاده از پایتون را نشان خواهیم داد.

  • یک شی از کلاس Document ایجاد کنید.
  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • مرجع فونت را از شی Documentbuilder دریافت کنید و فونت را تنظیم کنید.
  • مرجع پاراگراف fromat را از شی Documentbuilder دریافت کنید و تورفتگی، تراز و غیره را تنظیم کنید.
  • با استفاده از متد ()DocumentBuilder.write متن را در پاراگراف قرار دهید.
  • سند Word را با استفاده از متد ()Document.save ذخیره کنید.

نمونه کد زیر نحوه درج پاراگراف در سند Word را با استفاده از پایتون نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document()

# یک شی سازنده سند ایجاد کنید
builder = aw.DocumentBuilder(doc)

# ایجاد فونت
font = builder.font
font.size = 16
font.bold = True
font.name = "Arial"
font.underline = aw.Underline.DASH

# تنظیم قالب بندی پاراگراف
paragraphFormat = builder.paragraph_format
paragraphFormat.first_line_indent = 8
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY
paragraphFormat.keep_together = True

# متن اضافه کنید
builder.writeln("A whole paragraph.")

# ذخیره سند
doc.save("out.docx")

خروجی

ایجاد پاراگراف در سند ورد پایتون

درباره کار با پاراگراف ها در اسناد Word با استفاده از پایتون بیشتر بیاموزید.

اضافه کردن جدول در یک سند Word با استفاده از پایتون

جداول جزء لاینفک اسناد برای نمایش اطلاعات به صورت سطر و ستون هستند. Aspose.Words برای پایتون کار با جداول را بسیار ساده تر می کند. در زیر مراحل اضافه کردن جدول در سند Word با استفاده از پایتون آمده است.

  • یک شی از کلاس Document ایجاد کنید.
  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • یک جدول را با استفاده از متد DocumentBuilder.startable() شروع کنید و مرجع جدول را در یک شیء دریافت کنید.
  • یک سلول را با استفاده از روش DocumentBuilder.insertcell() وارد کنید.
  • تناسب خودکار را با استفاده از روش autofit (aw.tables.AutoFitBehavior.FIXEDCOLUMNWIDTHS) تنظیم کنید.
  • تنظیم تراز سلول
  • با استفاده از متد ()DocumentBuilder.write متن را در سلول وارد کنید.
  • در صورت نیاز، درج سلول ها و متن را در سلول ها تکرار کنید.
  • هنگامی که درج سلول ها را کامل کردید، یک ردیف را پایان دهید.
  • وقتی تمام سطرها را وارد کردید، جدول را پایان دهید.
  • سند Word را با استفاده از متد ()Document.save ذخیره کنید.

نمونه کد زیر نحوه درج جدول در سند Word با استفاده از پایتون را نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document()

# یک شی سازنده سند ایجاد کنید
builder = aw.DocumentBuilder(doc)

# جدول شروع
table = builder.start_table()

# درج سلول 
builder.insert_cell()
table.auto_fit(aw.tables.AutoFitBehavior.AUTO_FIT_TO_CONTENTS)

# قالب بندی را تنظیم کنید و متن را اضافه کنید
builder.cell_format.vertical_alignment = aw.tables.CellVerticalAlignment.CENTER
builder.write("This is row 1 cell 1")

# درج سلول
builder.insert_cell()
builder.write("This is row 1 cell 2")

# ردیف پایانی
builder.end_row()

# یک سلول دیگر را در ردیف بعدی وارد کنید
builder.insert_cell()

# در صورت لزوم ردیف را فرمت کنید
builder.row_format.height = 100
builder.row_format.height_rule = aw.HeightRule.EXACTLY

# سلول را فرمت کنید و متن اضافه کنید
builder.cell_format.orientation = aw.TextOrientation.UPWARD
builder.writeln("This is row 2 cell 1")

# insert another cell, قالب بندی را تنظیم کنید و متن را اضافه کنید
builder.insert_cell()
builder.cell_format.orientation = aw.TextOrientation.DOWNWARD
builder.writeln("This is row 2 cell 2")

# ردیف پایانی
builder.end_row()

# جدول پایانی
builder.end_table()

# ذخیره سند
doc.save("out.docx")

خروجی

ایجاد جدول در سند ورد پایتون

درباره نحوه کار با جداول در اسناد Word با استفاده از پایتون بیشتر بیاموزید.

با استفاده از پایتون یک لیست در یک سند Word ایجاد کنید

در زیر مراحل ایجاد یک لیست در سند Word با استفاده از پایتون آمده است.

  • یک شی از کلاس Document ایجاد کنید.
  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • قالب بندی را با استفاده از متد DocumentBuilder.listformat.applynumberdefault() تنظیم کنید.
  • با استفاده از روش DocumentBuilder.writeln (“Item 1”) مورد را درج کنید.
  • مورد دوم را با استفاده از روش DocumentBuilder.writeln(“Item 2”) درج کنید.
  • برای درج آیتم ها در سطح بعدی لیست، متد ()DocumentBuilder.listformat.listindent را فراخوانی کرده و موارد را وارد کنید.
  • با استفاده از روش DocumentBuilder.listformat.removenumbers () اعداد را از لیست حذف کنید.
  • سند Word را با استفاده از متد ()Document.save ذخیره کنید.

نمونه کد زیر نحوه ایجاد یک لیست در اسناد Word با استفاده از پایتون را نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document()

# یک شی سازنده سند ایجاد کنید
builder = aw.DocumentBuilder(doc)

# تنظیم قالب بندی لیست
builder.list_format.apply_number_default()

# درج مورد
builder.writeln("Item 1")
builder.writeln("Item 2")

# تورفتگی را برای سطح بعدی لیست تنظیم کنید
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")

# تورفتگی دوباره برای سطح بعدی
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")

# outdent برای بازگشت به سطح قبلی
builder.list_format.list_outdent()
builder.writeln("Item 2.3")

# دوباره outdent برای بازگشت به سطح اول
builder.list_format.list_outdent()
builder.writeln("Item 3")

# حذف اعداد
builder.list_format.remove_numbers()

# ذخیره سند
doc.save("out.docx")

خروجی

ایجاد لیست در سند ورد پایتون

درباره کار با لیست ها در اسناد Word با استفاده از پایتون بیشتر بخوانید.

درج تصاویر در یک سند Word با استفاده از پایتون

هنگام کار با اسناد Word، نمی توانید اشیاء گرافیکی مانند تصاویر را نادیده بگیرید. بنابراین بیایید نگاهی به نحوه درج تصاویر در یک سند Word به صورت پویا با استفاده از پایتون بیندازیم.

  • یک شی از کلاس Document ایجاد کنید.
  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • با استفاده از متد DocumentBuilder.insertimage() تصویر را وارد کنید و مسیر فایل تصویر را به عنوان پارامتر ارسال کنید.
  • سند Word را با استفاده از متد ()Document.save ذخیره کنید.

نمونه کد زیر نحوه درج یک تصویر در سند Word با استفاده از پایتون را نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document()

# یک شی سازنده سند ایجاد کنید
builder = aw.DocumentBuilder(doc)

# تصویر اضافه کن
builder.insert_image("Logo.jpg")

# ذخیره سند
doc.save("out.docx")

خروجی

ایجاد تصویر در سند ورد پایتون

ایجاد فهرست مطالب در اسناد ورد با استفاده از پایتون

در موارد مختلف، اسناد Word حاوی جدول محتوا (TOC) است. TOC یک نمای کلی از محتوای سند Word به شما می دهد. مراحل زیر نحوه افزودن TOC در اسناد Word با استفاده از پایتون را نشان می دهد.

  • یک شی از کلاس Document ایجاد کنید.
  • یک شی از کلاس DocumentBuilder ایجاد کنید.
  • فهرست مطالب را با استفاده از روش DocumentBuilder.inserttableofcontents () درج کنید.
  • با استفاده از روش DocumentBuilder.insertbreak(aw.BreakType.PAGEBREAK) پس از TOC، یک صفحه شکسته درج کنید.
  • پس از افزودن/به‌روزرسانی محتوای سند، TOC را با استفاده از روش ()Document.updatefields به‌روزرسانی کنید.
  • سند Word را با استفاده از متد ()Document.save ذخیره کنید.

نمونه کد زیر نحوه درج فهرست مطالب در یک سند Word را با استفاده از پایتون نشان می دهد.

import aspose.words as aw

# ایجاد شی سند
doc = aw.Document()

# یک شی سازنده سند ایجاد کنید
builder = aw.DocumentBuilder(doc)

# فهرست مطالب را درج کنید
builder.insert_table_of_contents("\\o \"1-3\" \\h \\z \\u")

# محتوای سند واقعی را در صفحه دوم شروع کنید
builder.insert_break(aw.BreakType.PAGE_BREAK)

# اضافه کردن محتوا
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 1.1")
builder.writeln("Heading 1.2")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1
builder.writeln("Heading 2")
builder.writeln("Heading 3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.1")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING3
builder.writeln("Heading 3.1.1")
builder.writeln("Heading 3.1.2")
builder.writeln("Heading 3.1.3")

builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING2
builder.writeln("Heading 3.2")
builder.writeln("Heading 3.3")

# فهرست مطالب تازه درج شده ابتدا خالی خواهد بود
# باید با به روز رسانی فیلدهای سند پر شود
doc.update_fields()

# ذخیره سند
doc.save("out.docx")

خروجی

ایجاد toc در سند ورد پایتون

درباره کار با فهرست مطالب با استفاده از پایتون بیشتر بخوانید.

ادامه مطلب

این مقاله به برخی از عملیات اساسی ایجاد اسناد Word و درج عناصر مختلف پرداخت. Aspose.Words برای Python مجموعه ای از ویژگی های دیگر را نیز ارائه می دهد که می توانید با استفاده از مستندات آن ها را کشف کنید.

یک مجوز API رایگان دریافت کنید

برای استفاده از Aspose.Words برای Python بدون محدودیت ارزیابی، می‌توانید یک مجوز موقت دریافت کنید.

نتیجه

در این مقاله نحوه ایجاد فایل های Word DOCX یا DOC در پایتون را یاد گرفتید. علاوه بر این، نحوه درج متن، تصاویر، جداول، لیست ها و فهرست مطالب را در اسناد Word به صورت پویا مشاهده کرده اید. می توانید API را امتحان کنید و بازخورد یا سؤالات خود را از طریق [فروم 12 ما به اشتراک بگذارید.

همچنین ببینید

تبدیل فایل های Word به PDF با استفاده از پایتونAutomate MS Word Mail Merge in Pythonترکیب اسناد ورد در پایتون
مقایسه اسناد ورد در پایتونکار با ماکرو VBA در اسناد ورد با استفاده از پایتونکپی محتوای یک سند ورد به دیگری در سی شارپ
کپی محتوای یک سند ورد به دیگری در جاواکپی محتوای یک سند ورد به دیگری در پایتونایجاد MS PowerPoint Presentations in Python
ایجاد جدول در اسناد ورد با استفاده از پایتونExtract Text from Word Documents in C#Extract Text from Word Documents in Python
Find and Replace Text in Word Documents in Pythonمحافظت از اسناد ورد در پایتونUnprotect Word Documents in Python
تقسیم یک سند ورد به چندین فایل در پایتون

نکته: Aspose یک مبدل آنلاین رایگان PowerPoint به Word ارائه می دهد که به شما امکان می دهد اسناد Word را به سرعت از ارائه ها ایجاد کنید.