פיצול PDF למספר קבצים ב-Java

PDF הוא בין פורמטי הקבצים המפורסמים ביותר שתומכים באלמנטים טקסטואליים, גרפיים ועוד רבים אחרים. אחת הסיבות לפופולריות שלו היא הניידות שלו. במקרים מסוימים, ייתכן שיהיה עליך לפצל קובץ PDF גדול למספר קבצים. כדי להתייחס לכך באופן תכנותי, מאמר זה דן בדרכים שונות לפיצול קבצי PDF ב-Java.

Java API לפיצול קבצי PDF

GroupDocs.Merger מספק את הפתרון למיזוג ופיצול קבצים של פורמטים רבים ושונים. נשתמש ב-Java API שלו כדי לפצל קבצי PDF בדרכים שונות. הורד את קובץ ה-JAR מסעיף ההורדות, או פשוט השתמש בתצורות המאגר והתלות העדכניים ביותר של Maven בתוך יישומי Java שלך.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>21.9</version> 
</dependency>

פיצול קובץ PDF לקבצי MultiPage ב-Java

השלבים הבאים מנחים כיצד ניתן לפצל קובץ PDF לקבצים מרובי עמודים:

  • טען את קובץ ה-PDF באמצעות מחלקה Merger.
  • הגדר את פורמט קבצי הפלט.
  • הגדר את מרווחי הדפים באמצעות SplitOptions.
  • פצל את ה-PDF הנטען לפי מרווח מוגדר באמצעות שיטת split().

דוגמת הקוד הבאה מראה כיצד לפצל קבצי PDF לקבצים מרובי עמודים ב-Java.

/*
 * פיצול קובצי PDF לקובצי עמודים מרובים ב-Java
 */
// טען את קובץ ה-PDF
Merger merger = new Merger("path/document.pdf"); 

// הגדר פורמט של קבצי פלט
String filePathOut = "path/splitPDF_{0}.{1}";

// הגדר מרווחי פיצול ומצב פיצול
SplitOptions splitOptions = new SplitOptions(filePathOut,  new int[] { 3, 6, 8 }, SplitMode.Interval);

// פיצול PDF לפי מרווחים נתונים
merger.split(splitOptions);

פיצול קובץ PDF למספר קבצים של עמוד בודד ב-Java

השלבים הבאים מנחים כיצד ניתן לפצל קובץ PDF כדי לחלץ דפים למספר קבצים של עמוד אחד:

  • טען את קובץ ה-PDF באמצעות מחלקה Merger.
  • הגדר את פורמט קבצי הפלט.
  • הגדר את מספרי העמודים המדויקים באמצעות SplitOptions.
  • פצל את ה-PDF הנטען לפי עמודים מוגדרים בשיטת split().

דוגמת הקוד הבאה מראה כיצד לפצל קבצי PDF למספר קבצים של עמוד בודד ב-Java.

/*
 * פיצול קובץ PDF לקבצי עמוד בודד ב-Java
 */
// טען את קובץ ה-PDF
Merger merger = new Merger("path/document.pdf");

// הגדר פורמט של קבצי פלט
String filePathOut = "path/splitPDF_{0}.{1}"; 

// הגדר דפים לחילוץ כמסמך עמוד בודד
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// פיצול PDF לפי אפשרויות פיצול
merger.split(splitOptions);

חלץ דפים מקובצי PDF לפי טווח ב-Java

השלבים הבאים מנחים כיצד לחלץ דפים מ-PDF על ידי פיצול בהתאם לטווח הנתון:

  • טען את קובץ ה-PDF באמצעות מחלקה Merger.
  • הגדר את פורמט קבצי הפלט.
  • ספק את טווח הדפים באמצעות SplitOptions.
  • השתמש בשיטת split() כדי לפצל את ה-PDF הנטען בהתאם לטווח המוגדר.

קטע הקוד הבא מראה כיצד לפצל PDF ולחלץ דפים על ידי מתן טווח ב-Java.

/*
 * פיצול קובץ PDF לפי Given Range לקבצי עמוד בודד ב-Java
 */
// טען את קובץ ה-PDF
Merger merger = new Merger("path/document.pdf"); 

// הגדר פורמט של קבצי פלט
String filePathOut = "path/splitPDF_{0}.{1}";

// הגדר טווח לחילוץ כמסמכי עמוד בודד
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// פיצול PDF לפי אפשרויות פיצול
merger.split(splitOptions);

חלץ דפים מקבצי PDF באמצעות מסנן זוגי/אי זוגי ב-Java

השלבים הבאים מנחים כיצד לחלץ דפים זוגיים/אי זוגיים בטווח הנתון מקובץ PDF על ידי פיצול:

  • טען את קובץ ה-PDF באמצעות מחלקה Merger.
  • הגדר את פורמט קבצי הפלט.
  • ספק את טווח הדפים באמצעות SplitOptions.
  • החל את המסנן הזוגי, האי-זוגי או כל הדפים באמצעות RangeMode.
  • השתמש בשיטת split() כדי לפצל את ה-PDF הנטען לפי המסנן שהוגדר.

קטע הקוד הבא מראה כיצד לחלץ את כל הדפים האי-זוגיים/זוגיים בטווח המוגדר של קובץ PDF באמצעות Java.

/*
 * פיצול קובץ PDF לפי טווח נתון ומסנן (דפים זוגיים/אי-זוגיים) לקבצי עמוד בודד ב-Java
 */
// טען את קובץ ה-PDF
Merger merger = new Merger("path/document.pdf"); 

// הגדר פורמט של קבצי פלט
String filePathOut = "path/splitPDF_{0}.{1}";

// הגדר טווח ומסנן כדי לחלץ את כל דפי ה-ODD בטווח הנתון כמסמכי עמוד בודד
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);

// פיצול PDF לפי אפשרויות פיצול
merger.split(splitOptions);

סיכום שינוי קוד

הדבר היחיד ששונה בתרחישים לעיל הוא הדרך ליצור SplitOptions. אתה יכול להשתמש בתצורות הבאות לפי הדרישות שלך בתוך הקוד שלך.

  • עבור קבצים מרובי עמודים - השתמש במרווח: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • דפים בודדים: [3], [6], [8]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
  • כדי לחלץ דפים בטווח: [3], [4], [5]
new SplitOptions(outputFile, 3, 5);
  • טווח עם מסנן: [3], [5], [7]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);

קבל רישיון API בחינם

אתה יכול לקבל רישיון זמני בחינם על מנת להשתמש ב-API ללא מגבלות ההערכה.

סיכום

לסיכום, למדת דרכים שונות לפצל קבצי PDF ב-Java. ראשית, אנו מפצלים את קובץ ה-PDF למסמכים מרובי עמודים וכן במספר מסמכים בני עמוד בודד. ואז אחד אחד חילצנו את כל הדפים, ודפים זוגיים/אי זוגיים של קובץ ה-PDF בטווח הנתון. כעת אתה אמור להיות בטוח לבנות אפליקציית Java מפצל PDF משלך באמצעות ה-API של GroupDocs.Merger.

למידע נוסף על ה-API, בקר בתיעוד. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם