fei
2025-11-09 afae2409d65e0c044b8119b3fd8f57e438c18a08
archiveManager/src/main/java/com/ruoyi/service/impl/IArchiveDoublePdfGenerateServiceImpl.java
@@ -1,22 +1,21 @@
package com.ruoyi.service.impl;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.service.IArchiveDoublePdfGenerateService;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import cn.hutool.http.HttpRequest;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.IOUtils;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -51,57 +50,53 @@
    }
    public void testConnection() throws IOException {
        File pdfFile = new File("34.pdf");
        String base64 = java.util.Base64.getEncoder().encodeToString(Files.readAllBytes(pdfFile.toPath()));
    public AjaxResult testConnection(MultipartFile multipartFile) throws IOException {
        // 创建临时文件
        File file = File.createTempFile("temp", ".pdf");
        // 将 MultipartFile 转存到目标文件
        multipartFile.transferTo(file);
        String response = HttpRequest.post("http://127.0.0.1:1224/api/doc/upload")
                .contentType("multipart/form-data; boundary=<calculated when request is sent>")
                .form("file", file)
                .execute()
                .body();
        System.out.println(response);
        JSONObject json = JSONUtil.parseObj(response);
       // System.out.println(json.get("data"));
        return AjaxResult.success(json);
       // unicodeEscapeToChinese(response);
      //  System.out.println(res);
     //   unicodeEscapeToChinese(res);
    }
    @Override
    public AjaxResult getDownLoadInfo(String id) {
        JSONObject inputObject = new JSONObject();
        inputObject.put("base64", base64);
        //inputObject.put("options", new JSONObject().put("ocr.language", "models/config_chinese.txt"));
        String response = HttpRequest.post(OCRServer+ "api/doc/result")
        inputObject.put("id", id);
        String res = HttpRequest.post("http://127.0.0.1:1224/api/doc/download")
                //   .contentType("multipart/form-data; boundary=<calculated when request is sent>")
                //.form("file", file)
                .body(inputObject.toString())
                .contentType("application/json")
                .execute()
                .body();
        unicodeEscapeToChinese(response);
       // System.out.println("unicodeEscapeToChinese("\u672a\u586b\u5199id\u3002"));
//        // 获得Http客户端(可以理解为:你得先有一个浏览器;注意:实际上HttpClient与浏览器是不一样的)
//        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
//        // 创建Get请求
//        HttpGet httpGet = new HttpGet(OCRServer);
//
//        // 响应模型
//        CloseableHttpResponse response = null;
//        try {
//            // 由客户端执行(发送)Get请求
//            response = httpClient.execute(httpGet);
//            // 从响应模型中获取响应实体
//            HttpEntity responseEntity = response.getEntity();
//            System.out.println("响应状态为:" + response.getStatusLine());
//            if (responseEntity != null) {
//                System.out.println("响应内容长度为:" + responseEntity.getContentLength());
//                System.out.println("响应内容为:" + EntityUtils.toString(responseEntity));
//            }
//        } catch (ClientProtocolException e) {
//            e.printStackTrace();
//        } catch (ParseException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            try {
//                // 释放资源
//                if (httpClient != null) {
//                    httpClient.close();
//                }
//                if (response != null) {
//                    response.close();
//                }
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
        JSONObject json = JSONUtil.parseObj(res);
        return AjaxResult.success(json);
    }