| | |
| | | package com.ruoyi.web.controller.common; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.ruoyi.common.config.RuoYiConfig; |
| | | import com.ruoyi.common.constant.Constants; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.utils.ChineseUtils; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.file.FileUploadUtils; |
| | | import com.ruoyi.common.utils.file.FileUtils; |
| | | import com.ruoyi.framework.config.ServerConfig; |
| | | import com.ruoyi.web.controller.tool.HttpUtils; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.catalina.connector.Connector; |
| | | import org.apache.catalina.startup.Tomcat; |
| | | import org.apache.coyote.AbstractProtocol; |
| | | import org.apache.pdfbox.pdmodel.PDDocument; |
| | | import org.apache.pdfbox.text.PDFTextStripper; |
| | | import org.apache.http.HttpResponse; |
| | | import org.apache.http.util.EntityUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.mock.web.MockMultipartFile; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.management.*; |
| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.lang.management.ManagementFactory; |
| | | import java.util.Set; |
| | | import java.math.BigDecimal; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Path; |
| | | import java.nio.file.Paths; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 通用请求处理 |
| | |
| | | return 0; |
| | | } |
| | | |
| | | @ApiOperation("pdf识别") |
| | | @GetMapping("/common/pdfBox") |
| | | public String pdfBox(String filePath) throws Exception { |
| | | try (PDDocument document = PDDocument.load(new File(filePath))) { |
| | | PDFTextStripper stripper = new PDFTextStripper(); |
| | | stripper.setSortByPosition(true); // 按页面排版顺序输出文字,发票必须开这个 |
| | | // 发票代码 |
| | | String codeReg = "发票代码[::](\\d{10,12})"; |
| | | // 发票号码 |
| | | String noReg = "发票号码[::](\\d{8})"; |
| | | // 价税合计 |
| | | String amountReg = "价税合计.*?¥([0-9.]+)"; |
| | | String text=stripper.getText(document); |
| | | return text; |
| | | } |
| | | } |
| | | } |