تقسیم فایل های PDF در جاوا

ممکن است موارد مختلفی وجود داشته باشد که شما باید یک PDF را به چندین فایل PDF تقسیم کنید. برای مثال، ممکن است مجبور شوید هر صفحه از PDF حاوی فاکتورها/رسیدها را تقسیم کنید و آنها را به عنوان فایل های جداگانه ذخیره کنید. از طرف دیگر، ممکن است بخواهید مجموعه خاصی از صفحات را از یک فایل PDF جدا کنید. به منظور مقابله با سناریوهای ذکر شده در بالا، این مقاله نحوه تقسیم یک فایل PDF را با استفاده از Java به چندین PDF را پوشش می دهد.

Java API برای تقسیم فایل های PDF – دانلود رایگان

به منظور تقسیم فایل‌های PDF، از قابلیت‌های دستکاری PDF Aspose.PDF برای جاوا استفاده می‌کنیم. API به شما امکان می دهد عملیات تقسیم PDF را در چند مرحله انجام دهید. می‌توانید 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-pdf</artifactId>
    <version>20.12</version>
    <classifier>jdk17</classifier>
</dependency>

یک فایل PDF را با استفاده از جاوا تقسیم کنید

معیارهای تقسیم PDF ممکن است در سناریوهای مختلف بر اساس شرایط متفاوت باشد. ابتدا بیایید بررسی کنیم که چگونه یک فایل PDF را بر اساس صفحات تقسیم کنیم و هر صفحه را به عنوان یک PDF جداگانه ذخیره کنیم. مراحل زیر برای انجام این عملیات آورده شده است.

  • سند PDF را با استفاده از کلاس Document بارگیری کنید.
  • با استفاده از روش Document.getPages() در میان صفحات حلقه بزنید.
  • به هر صفحه در یک شیء Page دسترسی پیدا کنید.
  • در هر تکرار، یک Document جدید ایجاد کنید، صفحه فعلی را به سند اضافه کنید و آن را به عنوان یک فایل PDF با استفاده از روش Document.save(String) ذخیره کنید.

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

// سند را باز کنید
Document pdfDocument = new Document("input.pdf");

// برای شمارنده صفحه
int pageCount = 1;

// تمام صفحات را حلقه بزنید
for (Page pdfPage : pdfDocument.getPages()) {
	// یک سند جدید ایجاد کنید
	Document newDocument = new Document();

	// صفحه را به سند اضافه کنید
	newDocument.getPages().add(pdfPage);

	// ذخیره به صورت PDF
	newDocument.save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

با استفاده از جاوا، یک فایل PDF را بر اساس مجموعه صفحه تقسیم کنید

برای نمایش، بیایید نگاهی به سناریوی تقسیم PDF دیگری بیندازیم. در این مثال، یک PDF را بر اساس شماره صفحات زوج و فرد تقسیم می کنیم. مراحل زیر برای انجام این عملیات آورده شده است.

  • سند PDF را با استفاده از کلاس Document بارگیری کنید.
  • با استفاده از روش Document.getPages() در میان صفحات حلقه بزنید.
  • صفحات زوج و فرد را در ArrayList جدا کنید اشیاء.
  • یک شی Document جدید ایجاد کنید، صفحاتی را به سند اضافه کنید و آن را به عنوان یک فایل PDF با استفاده از روش Document.save(String) ذخیره کنید.

نمونه کد زیر نحوه تقسیم صفحات زوج و فرد را در یک فایل PDF با استفاده از جاوا نشان می دهد.

// سند را باز کنید
Document pdfDocument = new Document("input.pdf");

// لیست های آرایه ای برای صفحات زوج و فرد ایجاد کنید
List<Page> evenPages = new ArrayList<Page>();
List<Page> oddPages = new ArrayList<Page>();

// تمام صفحات را حلقه بزنید
for (Page pdfPage : pdfDocument.getPages())
{
	if(pdfPage.getNumber()%2==0)
	{
		evenPages.add(pdfPage);
	}
	else
	{
		oddPages.add(pdfPage);
	}		  	
}
// صفحات زوج را به صورت PDF ذخیره کنید
Document newDocument = new Document();
newDocument.getPages().add(evenPages);
newDocument.save("split_even_Pages.pdf");

// صفحات فرد را به صورت PDF ذخیره کنید
newDocument = new Document();
newDocument.getPages().add(oddPages);
newDocument.save("split_odd_Pages.pdf");

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

برای امتحان API بدون محدودیت ارزیابی، می‌توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله نحوه تقسیم یک فایل PDF با استفاده از جاوا را یاد گرفتید. علاوه بر این، نحوه سفارشی سازی معیارهای تقسیم PDF را طبق الزامات مشاهده کرده اید. می‌توانید با استفاده از مستندات درباره API بیشتر کاوش کنید.

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