مرور کلی
ادغام اسناد Word یک نیاز رایج در بسیاری از برنامهها است، چه برای ترکیب گزارشها، تجمیع اطلاعات، یا صرفاً سادهسازی مدیریت اسناد. در این مقاله، نحوه ادغام فایلهای DOCX با استفاده از Python و کتابخانه GroupDocs.Merger را بررسی میکنیم. این کتابخانه قدرتمند به توسعهدهندگان امکان میدهد اسناد Word را بهصورت برنامهنویسی دستکاری کنند و در عین حال عملکرد بالا و دقت را تضمین کنند.
این راهنما شامل موارد زیر است:
- چگونگی ترکیب چندین فایل DOCX
- چگونگی ترکیب اسناد بدون شکست بخش
- چگونگی ترکیب با حالتهای انطباق پیشتعریفشده
- مدیریت جریانهای سند در Python
چگونگی ترکیب چندین فایل DOCX
ادغام چندین فایل DOCX با کتابخانه GroupDocs.Merger بهراحتی انجام میشود. در ادامه، گامهای کلیدی این فرآیند را شرح میدهیم:
- وارد کردن بسته GroupDocs.Merger: ابتدا کتابخانه مورد نیاز را ایمپورت کنید.
- ایجاد یک نمونه Merger: کلاس Merger را با مسیر اولین فایل DOCX مقداردهی کنید.
- پیوستن اسناد اضافی: از متد
joinبرای افزودن سایر فایلهای DOCX که میخواهید ترکیب کنید، استفاده کنید. - ذخیره سند ترکیبی: در نهایت، متد
saveرا فراخوانی کنید تا سند ترکیبی در مسیر خروجی مشخص شده ذخیره شود.
در اینجا یک قطعه کد Python برای نمایش این گامها آورده شده است:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge : Docx")
# Step 1: Create a Merger object with the first document
with gm.Merger(constants.sample_docx) as merger:
print(f"Document info retrieved successfully")
# Step 2: Join another DOCX file to merge
merger.join(constants.sample_docx)
# Step 3: Save the merged document
merger.save(constants.output_docx)
print(f"Merge to: {constants.output_docx}")
print(f"----------------------------------------------------------------------------")
ترکیب اسناد DOCX بدون شکست بخش
گاهی اوقات، برای ترکیب اسناد نیاز است محتوا بدون افزودن شکست بخش (section break) ترکیب شود. این کار میتواند جریان اطلاعات را در اسناد ترکیبی حفظ کند.
- ایجاد یک نمونه Merger: همانند قبل، کلاس Merger را مقداردهی کنید.
- تنظیم گزینههای ترکیب:
WordJoinOptionsرا تعریف کنید وmodeرا رویDISABLE_SECTION_BREAKSتنظیم کنید. - پیوستن اسناد: سند اضافی را برای ترکیب اضافه کنید.
- ذخیره نتیجه: خروجی نهایی را در یک فایل DOCX جدید بنویسید.
نمونه کد:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithoutSectionBreaks")
# Step 1: Create a Merger object with the source document
with gm.Merger(constants.sample_doc) as merger:
print(f"Document info retrieved successfully")
# Step 2: Define Word join options to disable section breaks
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.mode = gm.domain.options.WordJoinMode.DISABLE_SECTION_BREAKS
# Step 3: Join the document without section breaks
merger.join(constants.sample_doc, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_doc_without_section_breaks)
print(f"Merge to: {constants.output_doc_without_section_breaks}")
print(f"----------------------------------------------------------------------------")
ترکیب اسناد DOCX با حالتهای انطباق پیشتعریفشده
برای موارد خاص، ممکن است نیاز باشد اسناد با استانداردهای خاصی سازگار باشند. GroupDocs.Merger امکان ترکیب اسناد با حالتهای انطباق پیشتعریفشده را فراهم میکند تا خروجی مثلاً با استانداردهای ISO مطابقت داشته باشد.
- ایجاد یک نمونه Merger: کلاس Merger را با سند پایه مقداردهی کنید.
- تنظیم حالت انطباق: یک شیء
WordJoinOptionsایجاد کنید و ویژگیcomplianceرا تنظیم کنید. - پیوستن اسناد: سند اضافی را با استفاده از متد
joinاضافه کنید. - ذخیره سند نهایی: آن را در مسیر خروجی دلخواه ذخیره کنید.
کد مربوطه:
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithPredefinedComplianceMode")
# Step 1: Create a Merger object with the document
with gm.Merger(constants.sample_docx) as merger:
print(f"Document info retrieved successfully")
# Step 2: Define Word join options with predefined compliance mode
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
# Step 3: Join another document with compliance mode
merger.join(constants.sample_docx, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_docx_with_predefined_compliance_mode)
print(f"Merge to: {constants.output_docx_with_predefined_compliance_mode}")
print(f"----------------------------------------------------------------------------")
چگونگی ترکیب DOCX از جریانها
همچنین میتوانید فایلهای DOCX را از جریانهای حافظه (in‑memory streams) ترکیب کنید؛ این روش زمانی مفید است که با اسنادی که بهصورت پویا تولید میشوند، کار میکنید.
- دریافت یک جریان فایل: سند خود را در حالت باینری باز کنید تا جریان بهدست آید.
- ایجاد نمونه Merger: کلاس
Mergerرا با استفاده از این جریان مقداردهی کنید. - انجام عملیات ترکیب: بهموقع نیاز ترکیب کنید و خروجی را ذخیره کنید.
نمونه پیادهسازی:
from turtle import update
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Advanced Usage] # Loading # LoadDocumentFromStream")
# Step 1: Get the document stream
stream = get_file_stream()
# Step 2: Create a Merger instance using the stream
with gm.Merger(stream) as merger:
print(f"Document loaded from stream successfully")
print(f"----------------------------------------------------------------------------")
def get_file_stream():
file_path = constants.sample_docx
return open(file_path, "rb")
همچنین ببینید
برای جزئیات بیشتر میتوانید به منابع زیر مراجعه کنید:
- مستندات GroupDocs.Merger برای Python
- مرجع API برای GroupDocs.Merger
- نمونههای GitHub برای GroupDocs.Merger
همچنین میتوانید نسخه آزمایشی رایگان را از releases.groupdocs.com دانلود کنید و برای امتحان کتابخانه بدون محدودیت، لایسنس موقت را از Purchase Temporary License دریافت کنید.
مثالهای کد
در ادامه چند مثال دیگر برای درک بهتر فرآیند ترکیب با کتابخانه GroupDocs.Merger برای Python آورده شده است:
ترکیب اسناد Word بدون شروع از صفحه جدید
این مثال نشان میدهد چگونه اسناد را بهگونهای ترکیب کنید که صفحه آخر سند اول مستقیماً توسط صفحه اول سند بعدی دنبال شود، بدون افزودن صفحه جدید بین آنها.
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Basic Usage] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithoutStartingFromNewPage")
# Step 1: Create a Merger object with the document
with gm.Merger(constants.sample_doc) as merger:
print(f"Document info retrieved successfully")
# Step 2: Define Word join options for continuous mode
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.mode = gm.domain.options.WordJoinMode.CONTINUOUS
# Step 3: Join documents without inserting new page
merger.join(constants.sample_doc, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_doc_without_starting_from_new_page)
print(f"Merge to: {constants.output_doc_without_starting_from_new_page}")
print(f"----------------------------------------------------------------------------")
ترکیب چندین سند با گزینههای ترکیب سفارشی
در این مثال نحوه ترکیب اسناد DOCX با تنظیم گزینههای ترکیب خاص، مانند انطباق با یک استاندارد ISO خاص، نشان داده شده است.
import groupdocs.merger as gm
import constants
def run():
print(f"----------------------------------------------------------------------------")
print(f"[Example Advanced Usage] # Merge with Custom Join Options")
# Step 1: Create a Merger object with the base document
with gm.Merger(constants.sample_docx) as merger:
print(f"Document info retrieved successfully")
# Step 2: Set custom join options for predefined compliance mode
word_join_options = gm.domain.options.WordJoinOptions()
word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
# Step 3: Join another document with compliance settings
merger.join(constants.sample_docx, word_join_options)
# Step 4: Save the merged document
merger.save(constants.output_docx_with_predefined_compliance_mode)
print(f"Merge to: {constants.output_docx_with_predefined_compliance_mode}")
print(f"----------------------------------------------------------------------------")
همچنین ببینید
برای کشف بیشتر درباره GroupDocs.Merger و قابلیتهای آن میتوانید به منابع زیر سر بزنید:
- مستندات GroupDocs.Merger برای Python
- مرجع API برای GroupDocs.Merger
- نمونههای کد GitHub برای GroupDocs.Merger
- صفحه انتشار برای GroupDocs.Merger
نسخه آزمایشی رایگان و لایسنس موقت
میتوانید نسخه آزمایشی رایگان GroupDocs.Merger را از صفحه انتشار ما دانلود کنید. علاوه بر این، میتوانید برای مقاصد ارزیابی، لایسنس موقت را از Purchase Temporary License دریافت کنید. این لایسنس موقت به شما اجازه میدهد کتابخانه را بدون هیچ محدودیتی امتحان کنید و قابلیتهای آن را بهطور کامل ارزیابی نمایید.