חלץ נתונים מטבלה ב-PDF Java

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

ספריית Java לחילוץ טבלת PDF

כדי לחלץ טבלאות בקבצי PDF, נשתמש ב-Aspose.PDF עבור Java. זוהי ספרייה עשירה בתכונות ליצירה וטיפול במסמכי PDF. אתה יכול להוריד את ה-JAR של הספרייה או להתקין אותו בתוך יישום ה-Java שלך באמצעות התצורות הבאות של 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>22.12</version>
</dependency>

חלץ טבלאות מקובץ PDF ב-Java

להלן השלבים לחילוץ טבלאות ב-PDF ב-Java.

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

// טען מסמך PDF מקור
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document("sample.pdf");

// צור שוחק שולחן
com.aspose.pdf.TableAbsorber absorber = new com.aspose.pdf.TableAbsorber();

// סרוק דפים
for (com.aspose.pdf.Page page : pdfDocument.getPages()) {
    
    // עמוד ביקור
    absorber.visit(page);
  
    // חזור על טבלאות
   for (com.aspose.pdf.AbsorbedTable table : absorber.getTableList()) {
        System.out.println("Table");
        
        // חזור על רשימת שורות דרך
       for (com.aspose.pdf.AbsorbedRow row : table.getRowList()) {
            
            // חזור על רשימת התא
           for (com.aspose.pdf.AbsorbedCell cell : row.getCellList()) {
                
                // חזור על קטעי טקסט
               for (com.aspose.pdf.TextFragment fragment : cell.getTextFragments()) {
                    StringBuilder sb = new StringBuilder();
                   for (com.aspose.pdf.TextSegment seg : fragment.getSegments())
                        sb.append(seg.getText());
                    System.out.print(sb.toString() + "|");
                }
            }
            System.out.println();
        }
    }
}

Java: חילוץ טבלת PDF מאזור ספציפי{#חלץ-טבלה-מ-אזור ספציפי-בדף}

להלן השלבים לחילוץ טבלה מחלק מסוים של הדף ב-PDF.

דוגמת הקוד הבאה מראה כיצד לחלץ טבלאות מאזור ספציפי של דף ה-PDF.

// טען מסמך PDF מקור
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document("sample.pdf");

// קבל הפניה לדף הרצוי
com.aspose.pdf.Page page = pdfDocument.getPages().get_Item(1);

// צור בורר הערות
com.aspose.pdf.AnnotationSelector annotationSelector = new com.aspose.pdf.AnnotationSelector(
        new com.aspose.pdf.SquareAnnotation(page, com.aspose.pdf.Rectangle.getTrivial()));

// קבל רשימה של הערות
java.util.List<com.aspose.pdf.Annotation> list = annotationSelector.getSelected();
if (list.size() == 0) {
    System.out.println("Marked tables not found..");
    return;
}

// צור הערה מרובעת
com.aspose.pdf.SquareAnnotation squareAnnotation = (com.aspose.pdf.SquareAnnotation) list.get(0);

// צור בולם שולחן ובקר בדף
com.aspose.pdf.TableAbsorber absorber = new com.aspose.pdf.TableAbsorber();
absorber.visit(page);

// חזור על טבלאות
for (com.aspose.pdf.AbsorbedTable table : absorber.getTableList()) {
    {
        // בדוק אם הטבלה קיימת
        boolean isInRegion = (squareAnnotation.getRect().getLLX() < table.getRectangle().getLLX())
                && (squareAnnotation.getRect().getLLY() < table.getRectangle().getLLY())
                && (squareAnnotation.getRect().getURX() > table.getRectangle().getURX())
                && (squareAnnotation.getRect().getURY() > table.getRectangle().getURY());

        if (isInRegion) {
           for (com.aspose.pdf.AbsorbedRow row : table.getRowList()) {
                {
                   for (com.aspose.pdf.AbsorbedCell cell : row.getCellList()) {
                       for (com.aspose.pdf.TextFragment fragment : cell.getTextFragments()) {
                            StringBuilder sb = new StringBuilder();
                           for (com.aspose.pdf.TextSegment seg : fragment.getSegments())
                                sb.append(seg.getText());
                            System.out.print(sb.toString() + "|");
                        }
                    }
                    System.out.println();
                }
            }
        }
    }
}

ספריית Java PDF בחינם לחילוץ טבלאות

אתה יכול לקבל [רישיון זמני] בחינם28 לחילוץ טבלאות מקובץ PDF ללא כל הגבלה.

חקור את ספריית Java PDF

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

סיכום

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

ראה גם