当前位置: 首页 > wzjs >正文

jsp动态网站开发论文全媒体广告代理加盟靠谱吗

jsp动态网站开发论文,全媒体广告代理加盟靠谱吗,游戏网页制作素材,邢台市做网站pdf解析法院协助单特定字段,开源项目,结合若依项目进行开发,不连互联网,本地开发部署,前端使用vue3技术,后端用若依分离版spring botot技术,实现将pdf法院协助执行通知书中的特定字段如:时间、文…

pdf解析法院协助单特定字段,开源项目,结合若依项目进行开发,不连互联网,本地开发部署,前端使用vue3技术,后端用若依分离版spring botot技术,实现将pdf法院协助执行通知书中的特定字段如:时间、文号、户名、开户行、账号、划扣金额、保单号等识别出来,并插入数据库表。

1. 后端开发

(1) 添加 Maven 依赖
在若依分离版项目的 pom.xml 中添加必要的依赖项:

<dependencies><!-- Apache PDFBox --><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.27</version></dependency><!-- 其他必要依赖 -->
</dependencies>

(2) 创建 PDF 解析服务
创建一个服务类用于解析 PDF 文件并提取特定字段。

package com.ruoyi.system.service.impl;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.springframework.stereotype.Service;import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;@Service
public class PdfParseService {/*** 解析 PDF 文件并提取特定字段*/public Map<String, String> extractFieldsFromPdf(File pdfFile) throws Exception {Map<String, String> fields = new HashMap<>();try (PDDocument document = PDDocument.load(pdfFile)) {PDFTextStripper pdfStripper = new PDFTextStripper();String content = pdfStripper.getText(document);// 提取特定字段(根据实际模板调整正则表达式)fields.put("notice_time", extractField(content, "通知时间:(\\S+)"));fields.put("document_number", extractField(content, "文号:(\\S+)"));fields.put("account_name", extractField(content, "户名:(\\S+)"));fields.put("bank_name", extractField(content, "开户行:(\\S+)"));fields.put("account_number", extractField(content, "账号:(\\S+)"));fields.put("amount", extractField(content, "划扣金额:(\\S+)"));fields.put("policy_number", extractField(content, "保单号:(\\S+)"));}return fields;}/*** 使用正则表达式提取字段*/private String extractField(String text, String regex) {Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(text);return matcher.find() ? matcher.group(1) : null;}
}```
(3) 创建数据库操作服务
编写一个服务类将解析结果插入数据库。```csharp
package com.ruoyi.system.service.impl;import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.mapper.CourtNoticeMapper;
import com.ruoyi.system.domain.CourtNotice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.Map;@Service
public class CourtNoticeService {@Autowiredprivate CourtNoticeMapper courtNoticeMapper;/*** 插入解析结果到数据库*/public void saveToDatabase(Map<String, String> fields) {CourtNotice notice = new CourtNotice();notice.setNoticeTime(DateUtils.parseDate(fields.get("notice_time")));notice.setDocumentNumber(fields.get("document_number"));notice.setAccountName(fields.get("account_name"));notice.setBankName(fields.get("bank_name"));notice.setAccountNumber(fields.get("account_number"));notice.setAmount(Double.parseDouble(fields.getOrDefault("amount", "0")));notice.setPolicyNumber(fields.get("policy_number"));notice.setCreateTime(DateUtils.getNowDate());courtNoticeMapper.insertCourtNotice(notice);}
}

(4) 创建 Controller 接口
编写一个接口接收上传的 PDF 文件并调用上述服务。

package com.ruoyi.system.controller;import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.service.PdfParseService;
import com.ruoyi.system.service.CourtNoticeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;@RestController
@RequestMapping("/api/pdf")
public class PdfController extends BaseController {@Autowiredprivate PdfParseService pdfParseService;@Autowiredprivate CourtNoticeService courtNoticeService;@PostMapping("/parse")public AjaxResult parsePdf(@RequestParam("file") MultipartFile file) {try {// 保存上传的文件到临时目录File tempFile = File.createTempFile("upload", ".pdf");try (FileOutputStream fos = new FileOutputStream(tempFile)) {fos.write(file.getBytes());}// 解析 PDF 并提取字段var fields = pdfParseService.extractFieldsFromPdf(tempFile);// 将解析结果插入数据库courtNoticeService.saveToDatabase(fields);return success("解析成功!");} catch (Exception e) {e.printStackTrace();return error("解析失败:" + e.getMessage());}}
}

(5) 数据库表设计
创建一个用于存储解析结果的表。例如:

 CREATE TABLE court_notice (id BIGINT AUTO_INCREMENT PRIMARY KEY,notice_time DATETIME NOT NULL COMMENT '通知时间',document_number VARCHAR(50) NOT NULL COMMENT '文号',account_name VARCHAR(100) NOT NULL COMMENT '户名',bank_name VARCHAR(100) NOT NULL COMMENT '开户行',account_number VARCHAR(50) NOT NULL COMMENT '账号',amount DECIMAL(10, 2) NOT NULL COMMENT '划扣金额',policy_number VARCHAR(50) COMMENT '保单号',create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
);

2. 前端开发

(1) 安装 Axios
确保前端项目中已经安装了 axios:
(2) 创建上传组件
在若依分离版的前端项目中,创建一个页面用于上传 PDF 文件并与后端交互。

<template><div><el-uploadclass="upload-demo"dragaction="/api/pdf/parse":headers="headers":on-success="handleSuccess":on-error="handleError"accept=".pdf"><i class="el-icon-upload"></i><div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div><template #tip><div class="el-upload__tip">只能上传 PDF 文件</div></template></el-upload><div v-if="message">{{ message }}</div></div>
</template><script>
import { ref } from 'vue';
import axios from 'axios';export default {setup() {const message = ref('');const token = localStorage.getItem('token'); // 获取用户的登录令牌const headers = {Authorization: `Bearer ${token}`, // 若依分离版需要携带 JWT Token};const handleSuccess = (response) => {console.log('成功响应:', response);message.value = '解析成功!';};const handleError = (error) => {console.error('错误信息:', error);message.value = '解析失败:' + error.message;};return {message,headers,handleSuccess,handleError,};},
};
</script><style scoped>
.upload-demo {width: 50%;margin: auto;
}
</style>

3. 测试与部署

后端测试:
确保 PDF 文件上传接口正常工作。
验证解析逻辑是否能正确提取字段并插入数据库。
前端测试:
在前端页面上传 PDF 文件,验证解析结果和提示信息。
部署:
打包后端 Spring Boot 项目为 JAR 文件,并部署到服务器。
打包前端 Vue 项目为静态资源文件,并部署到 Nginx 或其他 Web 服务器。

http://www.dtcms.com/wzjs/103895.html

相关文章:

  • aspnet网站开发选择题google搜索引擎
  • 如何在12366网站上做实名认证数字营销
  • 网站秒收录怎么做的关键词英文
  • 凯里网站设计公司营销型网站seo
  • 用什么网站做框架图发布软文的平台
  • 中国最好的网站建设公司企业网站推广可以选择哪些方法
  • 上海网站推荐福州百度分公司
  • 展示网站如何做数字经济发展情况报告
  • 网站建设公司的业务规划黑马it培训班出来现状
  • 王也高清壁纸图片西安关键字优化哪家好
  • 日志网站开发靠谱的seo收费
  • 漫画网站建设教程视频网络平台建站
  • 中国网站建设银行-个人客户建立网站一般要多少钱
  • 做热图的在线网站惠州seo外包平台
  • wordpress 文章添加字段seo专员是指什么意思
  • 网站建设的现状株洲24小时新闻
  • 市场部做网站工作职责网络维护公司
  • 北京网站建设工作室哪家好小说排行榜百度
  • 音乐网站开发 群开网站怎么开
  • 南昌做网站成都网站推广经理
  • 网站文章可以做外链吗爱站长
  • 游戏网站开发实验报告seo短视频网页入口引流
  • 中国建设网站齐齐哈尔市百度网址大全怎么设为主页
  • 建个人网站做导购windows优化大师免费版
  • 工作室网站需要备案吗东莞seo外包平台
  • 网页设计工具一般有哪几种魔贝课凡seo
  • 广州企业网站建设方案网络推广网站电话
  • 济阳做网站多少钱百度竞价返点开户
  • 为第三方网站做推广制作自己的网页
  • 网站优化软件robots头条今日头条