فایل های MS Word به شدت برای ایجاد انواع اسناد مانند فاکتورها، گزارش ها، مقالات فنی و غیره استفاده می شوند. اتوماسیون اسناد به کاربران کمک کرده است تا اسناد Word را به صورت پویا از داخل پورتال های وب یا دسکتاپ خود تولید کنند. بنابراین، در این مقاله به نحوه تولید اسناد Word در پایتون بدون MS Office خواهیم پرداخت. علاوه بر این، یاد خواهید گرفت که چگونه یک فایل DOCX یا DOC ایجاد کنید و متن یا عناصر دیگر را به صورت پویا با استفاده از پایتون به آن اضافه کنید.
- Python API برای ایجاد اسناد Word
- یک فایل Word DOCX/DOC در پایتون ایجاد کنید
- یک سند Word موجود را بارگیری کنید
- درج پاراگراف در یک سند Word
- اضافه کردن جدول در یک سند Word
- فهرست را در یک فایل Word DOCX/DOC اضافه کنید
- درج تصویر در یک سند Word
- فهرست مطالب را در یک فایل Word اضافه کنید
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")
خروجی
درباره کار با فهرست مطالب با استفاده از پایتون بیشتر بخوانید.
ادامه مطلب
این مقاله به برخی از عملیات اساسی ایجاد اسناد Word و درج عناصر مختلف پرداخت. Aspose.Words برای Python مجموعه ای از ویژگی های دیگر را نیز ارائه می دهد که می توانید با استفاده از مستندات آن ها را کشف کنید.
یک مجوز API رایگان دریافت کنید
برای استفاده از Aspose.Words برای Python بدون محدودیت ارزیابی، میتوانید یک مجوز موقت دریافت کنید.
نتیجه
در این مقاله نحوه ایجاد فایل های Word DOCX یا DOC در پایتون را یاد گرفتید. علاوه بر این، نحوه درج متن، تصاویر، جداول، لیست ها و فهرست مطالب را در اسناد Word به صورت پویا مشاهده کرده اید. می توانید API را امتحان کنید و بازخورد یا سؤالات خود را از طریق [فروم 12 ما به اشتراک بگذارید.
همچنین ببینید
نکته: Aspose یک مبدل آنلاین رایگان PowerPoint به Word ارائه می دهد که به شما امکان می دهد اسناد Word را به سرعت از ارائه ها ایجاد کنید.