PDF转excel+json ,vue3+SpringBoot在线演示+附带源码

PDF转excel+json ,vue3+SpringBoot在线演示+附带源码_第1张图片在线演示地址:Vite + Vuehttp://www.xpclm.online/pdf-h5 源码gitee前后端地址:
javapdfexcel: javaPDF转excelhttps://gitee.com/gaiya001/javapdfexcel.git

盖亚/vuepdfhttps://gitee.com/gaiya001/vuepdf.git

后续会推出 前端版本跟nestjs版本

识别复杂表格不是很准确,建议获取json格式坐标,可以配合我得另一篇使用传参替换表格内容展示更佳前端界面在线excel编辑器 。node编写post接口获取文件流,使用传参替换表格内容展示、前后端一把梭。-CSDN博客

目录结构预览:

PDF转excel+json ,vue3+SpringBoot在线演示+附带源码_第2张图片

 基于Spring Boot和Tabula的PDF表格数据提取系统


项目概述

本项目使用Spring Boot框架结合Tabula库,实现从PDF文件中提取表格数据并转换为Excel和JSON格式的功能。


核心技术栈

  • Spring Boot - 提供快速应用开发框架
  • Tabula - 专业的PDF表格数据提取库
  • Apache POI - 用于Excel文件操作
  • Jackson - 处理JSON数据转换

核心代码实现

1. 主应用入口

PdfExcelConverterApplication.java
package com.example.pdfexcelconverter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class PdfExcelConverterApplication {
    public static void main(String[] args) {
        SpringApplication.run(PdfExcelConverterApplication.class, args);
    }
}

2. PDF解析服务

PdfExtractorService.java
package com.example.pdfexcelconverter.service;

import technology.tabula.*;
import technology.tabula.extractors.SpreadsheetExtractionAlgorithm;
import java.util.List;

public class PdfExtractorService {
    
    public List extractTablesFromPdf(String filePath) throws Exception {
        ObjectExtractor oe = new ObjectExtractor(new PageIterator(filePath));
        SpreadsheetExtractionAlgorithm sea = new SpreadsheetExtractionAlgorithm();
        return sea.extract(oe.next());
    }
}

3. Excel导出服务

ExcelExportService.java
package com.example.pdfexcelconverter.service;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import technology.tabula.Table;
import java.io.FileOutputStream;

public class ExcelExportService {
    
    public void exportToExcel(List
tables, String outputPath) throws Exception { Workbook workbook = new XSSFWorkbook(); for(int i=0; i

4. JSON转换服务

sonConverterService.java
package com.example.pdfexcelconverter.service;

import com.fasterxml.jackson.databind.ObjectMapper;
import technology.tabula.Table;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

public class JsonConverterService {
    
    public String convertToJson(List
tables) throws Exception { List> result = new ArrayList<>(); for(Table table : tables) { Map tableData = new HashMap<>(); // 转换表格数据为JSON结构... result.add(tableData); } return new ObjectMapper().writeValueAsString(result); } }

基于Vue.js框架的PDF转Excel/JSON应用核心代码

1. 文件上传组件

FileUploader.vue




你可能感兴趣的:(EXCEL,pdf,json,前端,后端,excel,javascript,spring,boot)