1. Táirgí
  2.   PDF
  3.   Java
  4.   Tabula-Java
 
  

Leabharlann PDF Java Saor chun Táblaí a Bhainne ó PDFanna

API Java Foinse Oscailte a Baintear Táblaí ó Chomhaid PDF go cláir. Is féidir leis Táblaí a Bhaintear a Thiontú go CSV go héasca agus Táblaí PDF faoi ghlas a Athrú go Formáidí Sonraí Struchtúrtha.

Cad é Tabula-Java?

Tá comhaid PDF i ngach áit sa domhan gnó—tuarascálacha, sonrascanna, páipéir taighde, agus ráitis airgeadais. Ach tá fadhb leanúnach ann: tá sé an-deacair sonraí tábla a bhaint as na cáipéisí seo. Is minic a chruthaíonn cóipeáil‑greamú sonraí truaillithe, agus tá athchlóscríobh de láimh crua agus lán de earráidí. Seo é áit a thagann Tabula-Java isteach. Is leabharlann foinse oscailte cumhachtach é Tabula-Java a bhaintear táblaí ó cháipéisí PDF go cláraithe. Bunaithe ar bhunús láidir próiseála PDF, athraíonn an leabharlann Java seo táblaí PDF faoi ghlas go formáidí sonraí struchtúrtha is féidir leat oibriú leo. Cibé acu go bhfuil tú ag tógáil píblíneacha sonraí, ag uathoibriú próiseáil tuarascálacha, nó go bhfuil tú tuirseach de bheith ag troid le táblaí PDF, cuireann Tabula-Java réiteach galánta ar fáil.

Níos mó ná parsálaithe ginearálta PDF a dhéileálann le gach rud mar théacs neamhréitithe, tuigeann Tabula-Java struchtúir tábla. Aithníonn sé róna, colúin, agus cealla, ag caomhnú na gaol idir pointí sonraí. Tá an difríocht seo ríthábhachtach — an difríocht idir "John 42 Engineer" a fháil mar bhloib téacs agus taifid struchtúrtha le scaradh réimse cuí. Feidhmíonn an leabharlann mar chur i bhfeidhm glan Java, rud a fhágann go bhfuil sé foirfe do fheidhmchláir fiontair, seirbhísí cúlra, agus aon chóras a bhfuil gá agat le baint amach táblaí PDF iontaofa, uathoibríoch gan idirghabháil láimhe. Is é an t-inneall taobh thiar den fheidhmchlár deisce Tabula cáiliúil, cruthaithe trí blianta de úsáid dhomhanda ó iriseoirí, taighdeoirí, agus anailísithe sonraí ar fud an domhain. Déanann a algartaim braite intleachtúla, módanna baint amach solúbtha, agus API simplí é ina uirlis riachtanach do dhuine ar bith a oibríonn le sonraí táblaí gafa i PDFanna.

Ag Tosú le Tabula-Java

Úsáid an t-ordú seo a leanas chun an spleáchas maven a chur le do thionscadal, le do thoil.

Spleáchas Maven OpenPDF

<dependency>
  <groupId>technology.tabula</groupId>
  <artifactId>tabula</artifactId>
  <version>1.0.5.</version>
</dependency>

Suiteáil Tabula-Java trí Gradle

implementation 'technology.tabula:tabula:1.0.5' 

Bunghabháil Tábla trí API Java

Is é an bealach is simplí chun leabharlann foinse oscailte Tabula-Java a úsáid ná ligean dó go bhfaigheann sé go huathoibríoch gach tábla i PDF ag baint úsáide as a algartam braite réamhshocraithe. Oibríonn sé seo go maith le PDFanna a bhfuil táblaí soiléire, cosúil le scarbhileog ann. Tosaímis le sampla simplí a tharraingíonn gach tábla ó cháipéis PDF. Léiríonn an sampla seo an sreabhadh oibre bunúsach. Luchaimid an PDF in úsáid le Apache PDFBox (inneall PDF bunúsach Tabula-Java), cruthaímid algartam baint amach, agus téimid trí leathanaigh.

Conas Tábla a Bhain amach ó PDF trí API Java?

import technology.tabula.*;
import technology.tabula.extractors.SpreadsheetExtractionAlgorithm;
import org.apache.pdfbox.pdmodel.PDDocument;

import java.io.File;
import java.io.IOException;
import java.util.List;

public class BasicExtraction {
    public static void main(String[] args) throws IOException {
        // Load the PDF document
        File pdfFile = new File("data_report.pdf");
        PDDocument document = PDDocument.load(pdfFile);
        
        // Create an extraction algorithm
        SpreadsheetExtractionAlgorithm extractor = new SpreadsheetExtractionAlgorithm();
        
        // Create a page iterator
        ObjectExtractor objectExtractor = new ObjectExtractor(document);
        PageIterator pages = objectExtractor.extract();
        
        // Process each page
        while (pages.hasNext()) {
            Page page = pages.next();
            
            // Extract tables from the page
            List<Table> tables = extractor.extract(page);
            
            // Print each table
            for (Table table : tables) {
                System.out.println("Found table with " + table.getRowCount() + " rows");
                
                // Iterate through rows
                for (List row : table.getRows()) {
                    for (RectangularTextContainer cell : row) {
                        System.out.print(cell.getText() + "\t");
                    }
                    System.out.println();
                }
            }
        }
        
        document.close();
    }
}


Bain Tábla as Réigiúin Leathanaigh Sonrach

Go minic, ní mian leat gach rud a bhaint amach. Seans go mbeidh gá agat le sonraí ó thábla ar leith i suíomh ar leith ar an leathanach. Ligeann Tabula-Java duit "limistéar roghnaithe" a shainiú ag baint úsáide as comhordanáidí. Sainíonn an rang Rectangle limistéar ar leith ar an leathanach ag baint úsáide as spás comhordanáidí PDF (cá bhfuil 72 point coibhneasta le haon orlach). Gearrann an modh getArea() an leathanach go dtí an réigiún seo roimh an mbaint amach, rud a fheabhsaíonn cruinneas agus feidhmíocht nuair nach bhfuil gá agat ach le sonraí ó shuíomh ar leith. Seo sampla an-úsáideach a léiríonn conas an oibríocht seo a dhéanamh.

Conas Tábla a Bhain amach ó Réigiúin Leathanaigh Sonrach ag baint úsáide as API Java?

import technology.tabula.Rectangle;

public class RegionExtraction {
    public static void extractRegion(String pdfPath) throws IOException {
        File pdfFile = new File(pdfPath);
        PDDocument document = PDDocument.load(pdfFile);
        
        ObjectExtractor objectExtractor = new ObjectExtractor(document);
        Page page = objectExtractor.extract(1);
        
        // Define the region (x, y, width, height)
        // Coordinates are in points (72 points = 1 inch)
        Rectangle region = new Rectangle(50, 100, 500, 400);
        Page subPage = page.getArea(region);
        
        SpreadsheetExtractionAlgorithm extractor = new SpreadsheetExtractionAlgorithm();
        List<Table> tables = extractor.extract(subPage);
        
        // Process the extracted table
        for (Table table ; tables) {
            System.out.println("Extracted " + table.getRowCount() + " rows from region");
        }
        
        document.close();
    }
}

Ag Iompú Táblaí go CSV trí API Java

Is cás úsáide coitianta é easpórtáil táblaí a bhaintear go díreach i bhformáid CSV le húsáid i bhfeidhmchlár scarbhileog nó i mbunachair shonraí. Déanann an rang CSVWriter déileáil le gach castaíocht i bhfhormáidiú CSV, lena n-áirítear éalú cuí ar charachtair speisialta agus láimhseáil ar ábhar cill il-líne. Déanann sé seo sé simplí an Tabula-Java a chomhtháthú i bpíblíne próiseála sonraí a bhfuil ionchur CSV ag súil leo. Seo sampla cód Java a thaispeánann conas táblaí a láimhseáil go héifeachtach laistigh de fheidhmchláir Java.

Conas Táblaí a Bhaintear Amach a Easpórtáil go Formáid CSV trí API Java?

import technology.tabula.writers.CSVWriter;
import java.io.FileWriter;

public class CSVExtraction {
    public static void exportToCSV(String pdfPath, String csvPath) throws IOException {
        File pdfFile = new File(pdfPath);
        PDDocument document = PDDocument.load(pdfFile);
        
        SpreadsheetExtractionAlgorithm extractor = new SpreadsheetExtractionAlgorithm();
        ObjectExtractor objectExtractor = new ObjectExtractor(document);
        Page page = objectExtractor.extract(1);
        
        List<Table< tables = extractor.extract(page);
        
        // Write to CSV file
        if (!tables.isEmpty()) {
            Table table = tables.get(0);
            
            try (FileWriter writer = new FileWriter(csvPath)) {
                CSVWriter csvWriter = new CSVWriter();
                csvWriter.write(writer, table);
            }
        }
        
        document.close();
    }
}

Próiseáil Leathanaigh Iolracha trí API Java

Tá go leor PDFanna sa saol fíor ina bhfuil táblaí scaipthe thar roinnt leathanaigh. Tá tacaíocht sa leabharlann le haghaidh próiseála leathanaigh i bhfoirmí ag an am céanna agus ligeann sé d'fhorbróirí dul tríd gach leathanach sa cháipéis, ag baint amach agus ag tuairisciú ar na táblaí a aimsíodh. Tosaíonn an t-uimhriú leathanaigh ag 1 (ní 0), a mheaitseálann an chaoi a ndéantar tagairt do uimhreacha leathanaigh de ghnáth ag daoine.