首页 > 编程语言 >java将word文件流转为pdf并下载

java将word文件流转为pdf并下载

时间:2023-04-25 11:46:03浏览次数:40  
标签:java xwpfDocument poi word pdfOptions pdf response

1.pom

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId>
    <version>2.0.2</version>
    <exclusions>
        <exclusion>
            <artifactId>org.apache.poi</artifactId>
            <groupId>poi-ooxml</groupId>
        </exclusion>
    </exclusions>
</dependency>

2.使用

public void peekReportPdf(HttpServletResponse response) {
        try{
           InputStream inputStream = new FileInputStream("F:\\word.docx");

            XWPFDocument xwpfDocument = new XWPFDocument(inputStream);
            PdfOptions pdfOptions = PdfOptions.create();
            OutputStream outputStream = response.getOutputStream();
            PdfConverter.getInstance().convert(xwpfDocument, outputStream, pdfOptions);
            // Set the response headers
            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
            response.addHeader("Content-Disposition",
                    "attachment;filename=" + URLEncoder.encode(reprotName, "UTF-8"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

标签:java,xwpfDocument,poi,word,pdfOptions,pdf,response
From: https://www.cnblogs.com/h-w-b/p/17352151.html

相关文章

  • 在JavaScript的if判断中,关于数组Array的相关思考
    结论:在if判断中,无法直接使用Array转Boolean的方法判断数组是否为空数组letarray=[];//中间进行N步操作之后//...if(array){ console.log("数组为空数组");}if(array==[]){ console.log("数组为空数组");}if(array==0){ console.log("数组为空数组");}if(array......
  • Java的多线程编程模型5--Java中的CAS理论
    CAS,compareandswap的缩写,中文翻译成比较并交换。我们都知道,在java语言之前,并发就已经广泛存在并在服务器领域得到了大量的应用。所以硬件厂商老早就在芯片中加入了大量直至并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。在Java发展初期,java语言是不能......
  • JAVA设计模式学习10——组合模式
    组合模式(Composite)就是把部分和整体的关系用树形的结构来表示,从而使客户端能够把部分对象和组合起来的对象采用同样的方式来看待。树图结构一般包含一个根节点,若干个树枝和叶子节点。如下图:树结构的类图,其实就是组合模式的简略类图,最上面为抽象节点,左下方为叶子节点,右下方为树......
  • CyclicBarrier 多线程都能“齐步走”的艺术【Java多线程必备】
    一、介绍  控制多个线程在某个时刻达到一个共同的屏障点(BarrierPoint),然后再同时继续执行。当所有线程都到达屏障点时,屏障就会打开,所有线程可以继续执行,直到下一个屏障点再次等待所有线程到达。二、特性1.可重用  当所有线程到达屏障点后,可以重置屏障,让所有线程再次从屏障......
  • 2023年SHEIN的JAVA后端实习笔试题
    2023年SHEIN笔试题目:10道单选,5道多选,一道算法,一道SQL(单选)1、下列关于线性链表的叙述中,正确的是:进行插入和删除时,不需要移动链表中的元素。2、关于以下程序代码的说明正确的是:classHasStatic{privatestaticintx=100;publicstaticvoidmain(Stringargs[]){......
  • Android JAVA连接MQTT,以及常见问题
    本文介绍如何使用Android(JAVA)客户机连接MQTT服务器第一步先引入MQTT在 build.gradle添加以下:dependencies{implementation'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'}接下来演示如何连接创建MQTT客户机类 MqttConnect.classpublicclassMqtt......
  • java面试题--Spring
    一、Spring、SpringMVC、SpringBoot的区别是什么?二、????三、SpringMVC工作流程是什么?1、DispatcherServlet接收请求,将请求发给HandlerMapping;2、HandlerMapping根据请求url,匹配到要处理的handler,并包装成处理器执行链,返回给DispatcherServlet。3、DispatcherServlet根据处理器......
  • 比较Python与Java在类的定义、继承、多态等方面的异同
    首先我来进行介绍Python与Java在类的定义、继承、多态等方面的异同1.python类和java类的使用一览java:publicclassCar{privateStringcolor;privateStringmodel;privateintyear;publicCar(Stringcolor,Stringmodel,intyear){......
  • Java 反射机制的一个简单例子.
    一、什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++、Open......
  • java中使用RedisTemplate读取数据异常 Missing type id when trying to resolve subt
    java中使用RedisTemplate读取数据异常Missingtypeidwhentryingtoresolvesubtypeof[simpletype,classjava.lang.Object]:missingtypeidproperty'@class'at[Source:(byte[])"报错:Causedby:com.fasterxml.jackson.databind.exc.InvalidTypeIdExcep......