需要的pom文件

第一个先来介绍pptx转pdf

public class PptxToPDFConverter extends Converter{ // private static final String fontPath =PptxToPDFConverter.class.getClassLoader().getResource("").getPath()+"/simsun.ttc"; public PptxToPDFConverter(InputStream inStream, OutputStream outStream, boolean showMessages, boolean closeStreamsWhenComplete) { super(inStream, outStream, showMessages, closeStreamsWhenComplete); } private XSLFSlide[] slides; @Override public void convert() throws Exception { loading(); Dimension pgsize = processSlides(); processing(); double zoom = 2; // magnify it by 2 as typical slides are low res AffineTransform at = new AffineTransform(); at.setToScale(zoom, zoom); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, outStream); document.open(); if(slides!=null){ for (int j = 0; j < getNumSlides(); j++) { for (XSLFShape shape : slides[j].getShapes()) { if (shape instanceof XSLFTextShape) { XSLFTextShape txtshape = (XSLFTextShape) shape; // System.out.println("txtshape" + (i+1) + ":" + txtshape.getShapeName()); //System.out.println("text:" +txtshape.getText()); for (XSLFTextParagraph textPara : txtshape.getTextParagraphs()) { List textRunList = textPara.getTextRuns(); for (XSLFTextRun textRun : textRunList) { textRun.setFontFamily("simsun.ttc"); } } } } } } for (int i = 0; i < getNumSlides(); i++) { BufferedImage bufImg = new BufferedImage((int)Math.ceil(pgsize.width*zoom), (int)Math.ceil(pgsize.height*zoom), BufferedImage.TYPE_INT_RGB); Graphics2D graphics = bufImg.createGraphics(); graphics.setTransform(at); //clear the drawing area graphics.setPaint(getSlideBGColor(i)); graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height)); try{ drawOntoThisGraphic(i, graphics); } catch(Exception e){ //Just ignore, draw what I have } Image image = Image.getInstance(bufImg, null); document.setPageSize(new Rectangle(image.getScaledWidth(), image.getScaledHeight())); document.newPage(); image.setAbsolutePosition(0, 0); document.add(image); } //Seems like I must close document if not output stream is not complete document.close(); //Not sure what repercussions are there for closing a writer but just do it. writer.close(); finished(); } protected Dimension processSlides() throws IOException{ InputStream iStream = inStream; XMLSlideShow ppt = new XMLSlideShow(iStream); Dimension dimension = ppt.getPageSize(); slides = ppt.getSlides(); return dimension; } protected int getNumSlides(){ return slides.length; } protected void drawOntoThisGraphic(int index, Graphics2D graphics){ slides[index].draw(graphics); } protected Color getSlideBGColor(int index){ return slides[index].getBackground().getFillColor(); }

java doc转pdf_java 完美解决 ppt/pptx 转pdf 源码相关推荐

  1. android ppt 转图片显示不全,PPT转PDF图片显示不全怎么办?如何完美解决PPT转PDF文件?...

    原标题:PPT转PDF图片显示不全怎么办?如何完美解决PPT转PDF文件? 记得以前上学的时候,我们班级每周都会做一次小组作业汇报.每一个小组都会准备一个PPT来进行展示演讲,可是有的同学的PPT在老 ...

  2. java毕业设计——基于Java+Socket的视频会议系统设计与实现(毕业论文+程序源码)——视频会议系统

    基于Java+Socket的视频会议系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+Socket的视频会议系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

  3. java毕业设计——基于Java+Javamail的邮件收发系统设计与实现(毕业论文+程序源码)——邮件收发系统

    基于Java+Javamail的邮件收发系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+Javamail的邮件收发系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  4. Java开源生鲜电商平台-Java分布式以及负载均衡架构与设计详解(源码可下载)

    Java开源生鲜电商平台-Java分布式以及负载均衡架构与设计详解(源码可下载) 说明:主要是针对一些中大型的项目需要进行分布式以及负载均衡的架构提一些思路与建议. 面对大量用户访问.高并发请求,海量 ...

  5. 基于JAVA汽车租赁平台的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA汽车租赁平台的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA汽车租赁平台的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技 ...

  6. java毕业设计飞机航班信息查询系统演示视频2021源码+系统+数据库+lw文档+调试运行

    java毕业设计飞机航班信息查询系统演示视频2021源码+系统+数据库+lw文档+调试运行 注意:该项目只展示部分功能,如需了解,文末获取源码地址. 临近学期结束,还是毕业设计,你还在做java程序. ...

  7. java计算机毕业设计web智慧医疗平台设计与实现源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计web智慧医疗平台设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计web智慧医疗平台设计与实现源码+mysql数据库+系统+lw文档+部署 本源码技 ...

  8. java毕业生设计伊伊物流公司的管理系统计算机源码+系统+mysql+调试部署+lw

    java毕业生设计伊伊物流公司的管理系统计算机源码+系统+mysql+调试部署+lw java毕业生设计伊伊物流公司的管理系统计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B ...

  9. java计算机毕业设计芮城县十全十美火锅店点餐系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计芮城县十全十美火锅店点餐系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计芮城县十全十美火锅店点餐系统源码+系统+数据库+lw文档+mybatis ...

最新文章

  1. 链表排序(C语言)选择排序
  2. caffe学习(六):使用python调用训练好的模型来分类(Ubuntu)
  3. framework调试
  4. [跟我学中小企业架构部署]之一:整体架构设计
  5. java 递归_两篇文章带你了解java基础算法之递归和折半查找
  6. C#dataGridView字体显示设置
  7. 课程管理系统c语言程序,课程信息管理系统C语言程序Word版
  8. Https 真的安全吗?可以抓包吗?如何防止抓包吗?
  9. JAVA基础(3/17)-基本语法_运算符
  10. 数据库基础教程(一)
  11. 计算机打开资源管理器停止工作,windows资源管理器已停止工作,教您windows资源管理器已停止工作怎么解决...
  12. 计算机键盘fn,键盘功能键Fn
  13. 微分几何笔记(9) —— 切丛,余切丛
  14. 三国志战略版:今天你打铁了吗?货布商店大解析
  15. 搜索引擎优化SEO专业术语总结(新手篇)
  16. 计算机老师能叫少儿编程,少儿编程教师适合哪些人做?需要具备什么能力?
  17. 企业内网怎么连接外网?
  18. 基于ZYNQ 7000的1553B总线控制器测试系统的设计与实现
  19. 网络上游戏制作相关学习站点的网址
  20. python 爬虫-(2)认识爬虫

热门文章

  1. PHP设置块注释的模板
  2. Linux的网络类型
  3. 社区不支持HTML,popover不支持html内容吗?
  4. b超可以看出什么_【b超能检查出什么】b超能看出男女吗_b超能查出什么妇科病 - 妈妈网百科...
  5. python需要配置环境变量吗_教你手动设置python环境变量
  6. 微信小程序onLoad与onShow的区别
  7. ios html下拉刷新,Lottie_ios 实现下拉刷新
  8. java的framework_JAVA FRAMEWORK
  9. linux 工具 SecureCRT 使用 rz 和 sz 命令
  10. 【rabbitmq】Authentication failed (rejected by the remote node), please check the Erlang cookie