Springboot 整合 itext 实现PDF文件合并,识别图片则转成PDF拼接

ops/2024/11/16 21:43:55/

目录

  • 前言
  • 一、引用依赖
  • 二、使用步骤
    • 1.Controller
    • 2.Service接口
    • 3.实现类
  • 三、请求接口及结果


前言

本文实现 Springboot 整合 itext 实现PDF文件合并,图片转PDF拼接。


一、引用依赖

<dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>8.0.5</version><type>pom</type>
</dependency>

二、使用步骤

1.Controller

代码如下(示例):

import com.ruoyi.tools.service.IPdfHandlerService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;
import java.util.List;@RestController
@RequiredArgsConstructor
@RequestMapping("/pdf")
public class PdfHandlerController {private final IPdfHandlerService pdfHandlerService;@PostMapping(value = "/generateFromFiles", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void uploadFiles(@RequestPart("files") List<MultipartFile> files, HttpServletResponse response) throws Exception {byte[] pdfBytes = pdfHandlerService.generatePdfFromFiles(files

http://www.ppmy.cn/ops/134241.html

相关文章

十:详解HTTP的请求行

在HTTP通信中,请求行(Request Line)是HTTP请求的开头部分,位于请求头(Request Headers)之前,包含了请求的核心信息。请求行主要由请求方法(Method)、请求目标(Target,即请求的URI)、协议版本(HTTP Version)三个要素组成。这些要素共同定义了客户端请求服务器资源…

从华为到创业公司

我有一个朋友&#xff0c;在华为工作了很长一段时间&#xff0c;一年多前&#xff0c;他从华为出来到了一家创业公司。 周末趁着有时间&#xff0c;我跟他聊了下关于从华为到创业公司的一些问题&#xff0c;总结给大伙看看。 ▎1 在华为工作和在创业公司工作最大的差别是什么呢…

读书笔记:《Redis设计与实现》之发布订阅

发布与订阅简介 命令 SUBSCRIBE: 订阅一个频道 SUBSCRIBE channel [channel ...]SUBSCRIBE: 向一个频道发送信息 PUBLISH channel messageUNSUBSCRIBE: 取消订阅一个频道 UNSUBSCRIBE [channel [channel ...]]PSUBSCRIBE:订阅一个或多给定模式的频道 PSUBSCRIBE pattern …

【机器学习】机器学习中用到的高等数学知识-5. 函数空间和泛函分析 (Functional Analysis)

函数的连续性和可微性&#xff1a;在评估模型的学习能力和泛化能力时非常重要。希尔伯特空间和巴拿赫空间&#xff1a;在支持向量机&#xff08;SVM&#xff09;和神经网络中用于理解高维数据。 1. 函数的连续性和可微性 函数的 连续性 和 可微性 是分析和优化模型的重要数学…

【EasyExcel等比例缩小导出图片】

EasyExcel等比例缩小导出图片 一、背景二、思路三、代码 一、背景 使用EasyExcel导出excel文件&#xff0c;但是需要同时导出图片信息&#xff0c;且图片信息不能影响行高和单元格宽度&#xff0c;图片本身被导出时&#xff0c;不能因为压缩导致图片变形 二、思路 使用EasyE…

关于在Reverse函数中不能使用L=s而是*L=*s的原因分析

完整代码地址&#xff1a; https://blog.csdn.net/2301_76819732/article/details/143807340?spm1001.2014.3001.5502 如果使用Ls; 的话&#xff0c;当输出结果时&#xff0c;会发现内容为空。 我感到很奇怪&#xff0c;按照我的设想&#xff0c;Ls;会把s指向的地址赋给L。 但…

1.两数之和-力扣(LeetCode)

题目&#xff1a; 解题思路&#xff1a; 在解决这个问题之前&#xff0c;首先要明确两个点&#xff1a; 1、参数returnSize的含义是返回答案的大小&#xff08;数目&#xff09;&#xff0c;由于这里的需求是寻找数组中符合条件的两个数&#xff0c;那么当找到这两个数时&#…

「Qt Widget中文示例指南」如何创建一个窗口标志?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 窗口标志要么是类型…