Overview
ترکیب اسناد ورد یک نیاز رایج در بسیاری از برنامهها است، چه برای ترکیب گزارشها، چه برای ادغام اطلاعات و یا فقط برای سادهسازی مدیریت اسناد. در این مقاله، ما به بررسی چگونگی ترکیب فایلهای DOCX با استفاده از پایتون و کتابخانه GroupDocs.Merger خواهیم پرداخت. این کتابخانه قدرتمند به توسعهدهندگان این امکان را میدهد که به راحتی اسناد ورد را به صورت برنامهنویسی دستکاری کنند و در عین حال عملکرد و دقت بالایی را تضمین کنند.
این راهنما شامل موارد زیر میشود:
- چگونه چند فایل DOCX را ترکیب کنیم
- چگونه اسناد را بدون شکستهای بخش ترکیب کنیم
- چگونه با حالتهای انطباق از پیش تعریف شده ترکیب کنیم
- مدیریت جریانهای سند در پایتون
How to merge multiple DOCX files
ترکیب چندین فایل DOCX با کتابخانه GroupDocs.Merger ساده است. در زیر، مراحل کلیدی درگیر در این فرآیند را شرح میدهیم:
- وارد کردن بسته GroupDocs.Merger: با وارد کردن کتابخانه مورد نیاز شروع کنید.
- ایجاد یک شی Merger: با استفاده از مسیر فایل DOCX اول، کلاس Merger را شیسازی کنید.
- پیوستن به اسناد اضافی: از متد
join
برای افزودن سایر فایلهای DOCX که میخواهید ترکیب کنید، استفاده کنید. - ذخیره سند ترکیب شده: در نهایت، متد
save
را فراخوانی کنید تا سند ترکیب شده را به مسیر خروجی مشخص شده بنویسید.
در اینجا یک قطعه کد پایتون نشاندهنده این مراحل است:
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"----------------------------------------------------------------------------")
Merge DOCX documents without section breaks
گاهی اوقات، ترکیب اسناد نیاز دارد که محتویات بدون درج شکستهای بخش به هم متصل شوند. این میتواند به حفظ جریان اطلاعات در بین اسناد ترکیب شده کمک کند.
- ایجاد یک شی 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"----------------------------------------------------------------------------")
Merge DOCX documents with predefined compliance modes
برای موارد خاص، اسناد ممکن است نیاز به رعایت استانداردهای خاصی داشته باشند. 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"----------------------------------------------------------------------------")
How to merge DOCX from streams
شما همچنین میتوانید فایلهای DOCX را از جریانهای حافظهی در حال اجرا ترکیب کنید که میتواند زمانی که با اسناد بهطور دینامیک تولید شده سر و کار دارید، مفید باشد.
- دریافت جریان فایل: سند خود را در حالت باینری باز کنید تا جریان را بگیرید.
- ایجاد شی 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")
See also
برای جزئیات بیشتر، میتوانید منابع زیر را مطالعه کنید:
- راهنمای GroupDocs.Merger برای پایتون
- مرجع API برای GroupDocs.Merger
- نمونههای GitHub برای GroupDocs.Merger
شما همچنین میتوانید از releases.groupdocs.com یک نسخهی آزمایشی رایگان دانلود کنید و یک مجوز موقت برای امتحان کتابخانه بدون محدودیت در خرید مجوز موقت دریافت کنید.
Code Examples
در اینجا چند مثال اضافی برای کمک به شما در درک روند ترکیب با کتابخانه GroupDocs.Merger برای پایتون آمده است:
Merge Word Documents Without Starting From a New Page
این مثال نشان میدهد که چگونه اسناد را ترکیب کنید تا آخرین صفحه از سند اول بلافاصله پس از اولین صفحه از سند بعدی قرار بگیرد، بدون اینکه صفحه جدیدی در بین آنها وارد شود.
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"----------------------------------------------------------------------------")
Merge Multiple Documents with Custom Join Options
در اینجا نحوه ترکیب مستندات 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"----------------------------------------------------------------------------")
See also
برای کاوش بیشتر درباره GroupDocs.Merger و قابلیتهای آن، میتوانید منابع زیر را چک کنید:
- راهنمای GroupDocs.Merger برای پایتون
- مرجع API برای GroupDocs.Merger
- نمونههای کد GitHub برای GroupDocs.Merger
- صفحه انتشارات GroupDocs.Merger
Free Trial and Temporary License
شما میتوانید یک نسخهی آزمایشی رایگان از GroupDocs.Merger را از صفحه انتشارات ما دانلود کنید. علاوه بر این، میتوانید یک مجوز موقت برای اهداف آزمایشی در خرید مجوز موقت تهیه کنید. این مجوز موقت به شما این امکان را میدهد تا کتابخانه را بدون هیچ گونه محدودیت امتحان کنید و قابلیتهای آن را به طور کامل ارزیابی کنید.