در موارد مختلف، باید یک سند MS Word را به چندین سند تقسیم کنید. به عنوان مثال، ممکن است لازم باشد برای هر صفحه، بخش یا مجموعه ای از صفحات یک سند Word یک سند جداگانه ایجاد کنید. به منظور خودکار کردن تقسیم سند، این مقاله نحوه تقسیم MS Word DOCX را به صورت برنامهنویسی با استفاده از جاوا پوشش میدهد. بخش های زیر آموزش گام به گام و نمونه کد معیارهای تقسیم بندی فوق را ارائه می دهد.
- Java API برای تقسیم اسناد Word
- با استفاده از جاوا یک Word DOCX/DOC را تقسیم کنید
- از محدوده صفحه برای تقسیم سند Word استفاده کنید
- تقسیم سند Word بر اساس بخش
- مجوز API رایگان دریافت کنید
Java API برای تقسیم Word DOCX
Aspose.Words for Java یک API دستکاری اسناد قدرتمند و غنی است که به شما امکان می دهد اسناد MS Word را ایجاد و پردازش کنید. علاوه بر ویژگیهای اولیه و پیشرفته اتوماسیون Word، API همچنین به شما امکان میدهد یک سند Word را به چندین سند تقسیم کنید. می توانید API را دانلود یا در برنامه مبتنی بر Maven خود با استفاده از تنظیمات زیر نصب کنید.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.1</version>
<classifier>jdk17</classifier>
</dependency>
شکاف اسناد Word - کلاس کمکی
قبل از شروع تقسیم اسناد، باید کلاس کمکی زیر را به پروژه خود اضافه کنید که یک تقسیم کننده اسناد جاوا را بر اساس Aspose.Words برای جاوا پیاده سازی می کند. هنگامی که کلاس را اضافه کردید، می توانید با استفاده از نمونه کدهای ارائه شده در بخش های زیر، اسناد را تقسیم کنید.
با استفاده از جاوا یک Word DOCX را تقسیم کنید
اول از همه، بیایید نگاهی به نحوه تقسیم یک سند MS Word به صفحه بیندازیم. در این صورت، هر صفحه از سند منبع به یک سند Word جداگانه تبدیل می شود. مراحل زیر برای تقسیم صفحات یک سند Word است.
- سند Word را با استفاده از کلاس Document بارگیری کنید.
- یک شی از PageSplitter ایجاد کنید و آن را با شی Document مقداردهی کنید.
- از طریق صفحات سند حلقه بزنید.
- از روش PageSplitter.getDocumentOfPage(Int pageIndex) برای بازیابی هر صفحه در یک شیء Document استفاده کنید.
- سند را با استفاده از روش Document.save(String) ذخیره کنید.
نمونه کد زیر نحوه تقسیم یک سند Word با استفاده از جاوا را نشان می دهد.
// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-words/Aspose.Words-for-Java بروید
// یک سند Word را باز کنید
Document doc = new Document("Word.docx");
// گره های سند را به صفحات جداگانه تقسیم کنید
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// هر صفحه را به عنوان یک سند جداگانه ذخیره کنید
for (int page = 1; page <= doc.getPageCount(); page++)
{
Document pageDoc = splitter.getDocumentOfPage(page);
pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}
از محدوده صفحه برای تقسیم Word DOCX در جاوا استفاده کنید
همچنین می توانید محدوده صفحه ای را که می خواهید از سند منبع Word جدا کنید، تعریف کنید. مراحل زیر برای انجام این عملیات آورده شده است.
- سند Word را با استفاده از کلاس Document بارگیری کنید.
- یک شی از PageSplitter ایجاد کنید و آن را با شی Document مقداردهی اولیه کنید.
- از روش PageSplitter.getDocumentOfPageRange(Int، Int) برای بازیابی مجموعه ای از صفحات در یک شی Document استفاده کنید.
- سند را با استفاده از روش Document.save(String) ذخیره کنید.
نمونه کد زیر نحوه تقسیم یک سند Word بر یک محدوده صفحه با استفاده از جاوا را نشان می دهد.
// برای نمونههای کامل و فایلهای داده، لطفاً به https://github.com/aspose-words/Aspose.Words-for-Java بروید
// یک سند Word را باز کنید
Document doc = new Document("Word.docx");
// گره های سند را به صفحات جداگانه تقسیم کنید
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// بخشی از سند را دریافت کنید
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");
با استفاده از جاوا یک سند Word را بر اساس بخش تقسیم کنید
Aspose.Words برای جاوا همچنین به شما این امکان را می دهد که یک سند Word را بر اساس بخش تقسیم کنید. مراحل زیر برای انجام این عملیات آورده شده است.
- سند Word را با استفاده از کلاس Document بارگیری کنید.
- با استفاده از روش Document.getSections() در هر بخش از سند حلقه بزنید.
- با استفاده از روش Document.getSections().get(index).deepClone() بخش را به یک شی Section کلون کنید.
- با استفاده از روش Document.getSections().add(Section) یک سند جدید ایجاد کنید و بخش کلون شده را به سند اضافه کنید.
- سند را با استفاده از روش Document.save(String) ذخیره کنید.
نمونه کد زیر نحوه تقسیم یک سند Word را بر اساس بخش ها با استفاده از جاوا نشان می دهد.
// یک سند Word DOCX را بارگیری کنید
Document doc = new Document("word.docx");
for (int i = 0; i < doc.getSections().getCount(); i++) {
// یک سند را به بخش های کوچکتر تقسیم کنید، در این مثال به بخش تقسیم کنید
Section section = doc.getSections().get(i).deepClone();
// یک سند جدید ایجاد کنید
Document newDoc = new Document();
newDoc.getSections().clear();
// افزودن بخش
Section newSection = (Section) newDoc.importNode(section, true);
newDoc.getSections().add(newSection);
// هر بخش را به عنوان یک سند جداگانه ذخیره کنید
newDoc.save("splitted_" + i + ".docx");
}
مجوز API رایگان دریافت کنید
برای امتحان API بدون محدودیت ارزیابی، میتوانید یک مجوز موقت رایگان دریافت کنید.
نتیجه
در این مقاله، نحوه تقسیم MS Word DOCX/DOC با استفاده از جاوا را یاد گرفتید. راهنمای گام به گام و نمونه کد نشان می دهد که چگونه یک سند Word را بر اساس بخش ها، صفحات یا طیف وسیعی از صفحات تقسیم کنید. میتوانید با استفاده از مستندات درباره Java Word API بیشتر کاوش کنید.