소스 검색

修改pdf

humuyu 3 년 전
부모
커밋
ce2aa466e9

+ 2 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/BankController.java

@@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import me.zhengjie.base.AppBaseResponse;
+import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.application.admin.controller.vo.BankCreateReq;
 import me.zhengjie.application.admin.controller.vo.BankQueryReq;
 import me.zhengjie.application.admin.controller.vo.BankQueryRsp;
@@ -49,6 +50,7 @@ public class BankController {
 	public AppBaseResponse<BankQueryRsp> detail(@RequestBody BankQueryReq req) {
 		AppBaseResponse<BankQueryRsp> response = new AppBaseResponse<>();
 		BankQueryRsp result = bankService.detail(req);
+
 		response.setResult(result);
 		return response;
 	}

+ 14 - 2
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/BankServiceImpl.java

@@ -8,6 +8,7 @@ import me.zhengjie.base.config.AppConfigInfo;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
 import me.zhengjie.dao.mybatis.mapper.SysUserMapper;
 import me.zhengjie.dao.mybatis.entity.BankEntity;
+import me.zhengjie.dao.mybatis.entity.FileInfoEntity;
 import me.zhengjie.dao.mybatis.entity.OfficeXbankEntity;
 import me.zhengjie.application.admin.controller.vo.BankCreateReq;
 import me.zhengjie.base.AppBaseResponse;
@@ -15,9 +16,11 @@ import me.zhengjie.base.AppResultData;
 import me.zhengjie.base.plus.AbstractServiceImpl;
 import me.zhengjie.application.bank.service.FileInfoService;
 import me.zhengjie.dao.mybatis.mapper.BankMapper;
+import me.zhengjie.dao.mybatis.mapper.FileInfoMapper;
 import me.zhengjie.application.admin.controller.vo.BankQueryReq;
 import me.zhengjie.application.admin.controller.vo.BankQueryRsp;
 import me.zhengjie.base.util.BeanCopyUtils;
+import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.dao.mybatis.mapper.OfficeXbankMapper;
 import me.zhengjie.application.admin.service.BankService;
 
@@ -52,6 +55,8 @@ public class BankServiceImpl extends AbstractServiceImpl<BankMapper, BankEntity>
 	private OfficeXbankMapper officeXbankMapper;
 	@Autowired
 	private FileInfoService fileInfoService;
+	@Autowired
+	FileInfoMapper fileInfoMapper;
 
 	@Override
 	public AppBaseResponse<List<BankQueryRsp>> queryBank(BankQueryReq req) {
@@ -180,6 +185,7 @@ public class BankServiceImpl extends AbstractServiceImpl<BankMapper, BankEntity>
 
 	/**
 	 * 是否存在同一社会信用代码的银行
+	 * 
 	 * @param uscc
 	 * @param bankId
 	 * @return
@@ -202,7 +208,13 @@ public class BankServiceImpl extends AbstractServiceImpl<BankMapper, BankEntity>
 	@Override
 	public BankQueryRsp detail(BankQueryReq req) {
 		BankEntity bankEntity = bankMapper.selectById(req.getId());
-		
-		return BeanCopyUtils.convertObj(bankEntity, BankQueryRsp.class);
+		String imageId = bankEntity.getImageId();
+		BankQueryRsp rsp = BeanCopyUtils.convertObj(bankEntity, BankQueryRsp.class);
+		if (StringUtils.isNotBlank(imageId) && imageId.matches("-?[0-9]+.?[0-9]*")) {
+			FileInfoEntity fileInfo = fileInfoMapper.selectById(imageId);
+			String path = fileInfo.getPath();
+			rsp.setLogo(FileUploadUtil.getPreviewUrl(path));
+		}
+		return rsp;
 	}
 }

+ 30 - 48
eladmin-system/src/main/java/me/zhengjie/base/util/PdfUtils.java

@@ -1,9 +1,8 @@
 package me.zhengjie.base.util;
 
-
 import java.io.*;
 
-import org.apache.pdfbox.io.RandomAccessBuffer;
+import org.apache.pdfbox.multipdf.PDFMergerUtility;
 import org.apache.pdfbox.pdfparser.PDFParser;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.PDPage;
@@ -13,50 +12,33 @@ import org.apache.pdfbox.pdmodel.font.PDType1Font;
 import org.apache.pdfbox.text.PDFTextStripper;
 
 public class PdfUtils {
-
-
-    public String readPdf(String fileName) {
-
-        File file = new File(fileName);
-        FileInputStream in = null;
-        String content = null;
-        try {
-            in = new FileInputStream(fileName);
-            PDFParser parser = new PDFParser(new RandomAccessBuffer(in)); // 新建一个PDF解析器对象
-            parser.parse();  // 对PDF文件进行解析
-            PDDocument pdfdocument = parser.getPDDocument();  // 获取解析后得到的PDF文档对象
-            PDFTextStripper stripper = new PDFTextStripper(); // 新建一个PDF文本剥离器
-            content = stripper.getText(pdfdocument);  // 从PDF文档对象中剥离文本
-
-        } catch (Exception e) {
-            System.out.println("读取PDF文件" + file.getAbsolutePath() + "生失败!" + e);
-            e.printStackTrace();
-        }
-        return content;
-    }
-
-    public String createPDF (String fileName, String content) throws IOException{
-
-        PDDocument document = new PDDocument();
-        PDPage page = new PDPage();
-        document.addPage(page);
-        PDFont font = PDType1Font.HELVETICA;
-
-        PDPageContentStream contentStream = new PDPageContentStream(document, page);
-        contentStream.beginText();
-        contentStream.setFont(font, 14);
-        contentStream.moveTextPositionByAmount(100, 700);
-        contentStream.drawString(content);
-
-        contentStream.endText();
-        contentStream.close();
-
-        try {
-            document.save(fileName);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        document.close();
-        return "";
-    }
+	private static String[] getPdfs(String fileAddress) throws IOException {
+		File file = new File(fileAddress);
+		String[] pdfs;
+
+		if (file.isDirectory()) {
+			pdfs = file.list();
+			return pdfs;
+		} else {
+			throw new IOException("输入的路径有问题");
+		}
+	}
+
+	public static void main(String[] args) throws Exception {
+		
+//		PDFMergerUtility mergePdf = new PDFMergerUtility();
+//		System.out.println("请输入要合并的PDF文件所在的文件夹路径");
+//		String fileAddress = in.nextLine();
+//
+//		System.out.println("你输入的路径是:" + fileAddress);
+//		String destinationFileName = "javaweb2020.pdf";
+//
+//		String[] pdfs = getPdfs(fileAddress);
+//		for (int i = 0; i < pdfs.length; i++)
+//			mergePdf.addSource(fileAddress + File.separator + pdfs[i]);
+//		mergePdf.setDestinationFileName(destinationFileName);
+//		System.out.println("合并比较费时间,请等待个几分钟吧!");
+//		mergePdf.mergeDocuments();
+//		System.out.print("合并完成");
+	}
 }