PDF, בהיותו אחד מפורמטי הקבצים הפופולריים ביותר, נמצא בשימוש כמעט בכל עסק ותעשייה. מסמכי PDF יכולים להכיל תוכן מגוון כולל טקסט מעוצב, תמונות, הערות וכו’. לעתים קרובות נדרש לחלץ את התוכן מקובצי ה-PDF. כאן במאמר זה, נדון כיצד לחלץ תמונות באופן תוכנתי ממסמכי PDF ב-Java.
Java API לחילוץ תמונות מקבצי PDF
GroupDocs מספקת GroupDocs.Parser למפתחי Java לחילוץ תמונות מקובצי PDF. יחד עם קובץ ה-PDF, אותו API תומך בניתוח כמו גם בחילוץ תמונות מפורמטים שונים של מסמכים כמו מסמכי עיבוד תמלילים, גיליונות אלקטרוניים, ספרים אלקטרוניים, מצגות, מיילים, ארכיוני ZIP ופורמטים רבים אחרים של מסמכים .
הורד או הגדר
אתה יכול להוריד את קובץ ה-JAR מסעיף ההורדות, או פשוט לקבל את תצורות המאגר והתלות עבור ה-pom.xml של יישומי ה-Java המבוססים על maven.
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>22.11</version>
</dependency>
שלבים לחילוץ תמונות ממסמך PDF ב-Java
להלן הנקודות שלב אחר שלב המראות כיצד לקבל תמונות מקובץ ה-PDF באמצעות כמה שורות של קוד Java.
- צור פרויקט חדש.
- הורד את ה-API כפי שהוזכר לעיל או עדכן לגרסת ה-API העדכנית ביותר.
- ייבא את המחלקות הבאות:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
- טען את מסמך ה-PDF באמצעות המחלקה Parser.
// טען קובץ PDF
try (Parser parser = new Parser("path/document.pdf")) {
// קוד חילוץ התמונה מגיע לכאן.
}
- חלץ את כל התמונות מהמסמך בשיטת getImages.
// חלץ תמונות מהקובץ שנטען
Iterable<PageImageArea> images = parser.getImages();
- גשו לכל תמונה מהאוסף ושמרו אותה בשיטת השמירה.
// שמור את הקובץ עם הסיומת שלהם
for (PageImageArea image : images) {
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
ניתן לשמור תמונות בפורמטים שונים של תמונה כמו PNG, JPG, BMP, WebP או GIF.
Java Complete Code - חילוץ תמונה מ-PDF
הנה קוד המקור המלא המאפשר לך לקבל את כל התמונות מקובץ ה-PDF שסופק.
// חלץ תמונות מקובץ PDF ב-Java
try (Parser parser = new Parser("path/document.pdf"))
{
// קבל תמונות
Iterable<PageImageArea> images = parser.getImages();
// בדוק אם חילוץ תמונות נתמך
if (images == null)
{
System.out.println("Images extraction isn't supported");
return;
}
int imageCounter = 0;
// חזור על תמונות שחולצו
for (PageImageArea image : images)
{
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
}
תוצאות
מסמך PDF לדוגמה

תמונות שחולצו

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