当前位置: 首页 > news >正文

会泽网站建设大连本地服务信息网

会泽网站建设,大连本地服务信息网,html免费网页模板,icp备案的网站名称Word、PDF转换为图片Java 需求要在小程序端展示文档内容,所以将文档每页转换为图片后显示 参考和其他等方案: https://blog.csdn.net/strggle_bin/article/details/140599514 https://www.modb.pro/db/566986 https://blog.csdn.net/spring_is_comin…

Word、PDF转换为图片Java

需求要在小程序端展示文档内容,所以将文档每页转换为图片后显示

参考和其他等方案:
https://blog.csdn.net/strggle_bin/article/details/140599514

https://www.modb.pro/db/566986

https://blog.csdn.net/spring_is_coming/article/details/136969669

Word转换为图片

<!-- word转图工具 -->
<dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.8.0</version>
</dependency>
<dependency><groupId>com.luhuiguo</groupId><artifactId>aspose-words</artifactId><version>23.1</version>
</dependency>
import com.aspose.words.Document;
import com.aspose.words.SaveFormat;
import lombok.extern.slf4j.Slf4j;import java.io.File;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;@Slf4j
public class WordToImageUtil {public static void main(String[] args) {wordToImage("C:\\Users\\Administrator\\Documents\\录入脚本\\324\\", "xxxx.doc");}public static List<String> wordToImage(String filePath, String fileName) {log.info("开始word转换为图片");List<String> resultList = new ArrayList<String>();// 获取文件路径分隔符String separator = File.separator;try {// 填充数据完毕的test.docx,在转换成图片File file1 = new File(filePath + separator + fileName); // 使用系统的路径分隔符// 打开生成的 Word 文件Document doc = new Document(Files.newInputStream(file1.toPath()));// 逐页将 Word 文件保存为图片(PNG格式)for (int i = 0; i < doc.getPageCount(); i++) {Document extractedPage = doc.extractPages(i, 1);// 拼接上文件名String path = filePath + separator + "tmpImg" + separator + removeFileExtension(fileName) + separator +"img" + System.currentTimeMillis() + "_" + i + ".png"; // 使用系统的路径分隔符// 创建目录(如果不存在的话)File tmpDir = new File(filePath + separator + "tmpImg" + separator + removeFileExtension(fileName));if (!tmpDir.exists()) {tmpDir.mkdirs(); // 创建目录}// 将 Word 文件保存为图片PNG格式extractedPage.save(path, SaveFormat.PNG);resultList.add(path);}} catch (Exception e) {e.printStackTrace();return new ArrayList<>();}log.info("结束word转换为图片");return resultList;}/*** 去掉后缀名* @param fileName* @return*/public static String removeFileExtension(String fileName) {int dotIndex = fileName.lastIndexOf(".");if (dotIndex == -1) {return fileName; // 如果没有找到点,则返回原始文件名}return fileName.substring(0, dotIndex); // 返回去掉后缀名的文件名}
}

PDF转换为图片

<!--PDF转换为图片-->
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox</artifactId><version>2.0.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version>
</dependency>
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class PdfToImage {/*** 使用pdfbox将整个pdf转换成图片** @param fileAddress 文件地址 如:C:\\Users\\user\\Desktop\\test* @param filename    PDF文件名不带后缀名* @param type        图片类型 png 和jpg*/public static void pdf2png(String fileAddress, String filename, String type) {long startTime = System.currentTimeMillis();// 将文件地址和文件名拼接成路径 注意:线上环境不能使用\\拼接File file = new File(fileAddress + "\\" + filename + ".pdf");try {// 写入文件PDDocument doc = PDDocument.load(file);PDFRenderer renderer = new PDFRenderer(doc);int pageCount = doc.getNumberOfPages();for (int i = 0; i < pageCount; i++) {// dpi为144,越高越清晰,转换越慢BufferedImage image = renderer.renderImageWithDPI(i, 144); // Windows native DPI// 将图片写出到该路径下ImageIO.write(image, type, new File(fileAddress + "\\" + filename + "_" + (i + 1) + "." + type));}long endTime = System.currentTimeMillis();System.out.println("共耗时:" + ((endTime - startTime) / 1000.0) + "秒");  //转化用时} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {pdf2png("C:\\Users\\Administrator\\Documents\\xxx\\pdf", "文件名", "png");}
}

乱码问题

如果在linux运行遇到中文乱码,可尝试安装字体然后重启程序运行

参考:https://blog.csdn.net/lljddddd/article/details/137958297

1、从本地找到字体:C:\Windows\Fonts

2、复制到Linux,我这里用的centos,复制字体到 /usr/share/fonts

3、安装fontconfig工具 yum -y install fontconfig

4、刷新字体缓存 fc-cache

5、查看字体列表是否完成安装 fc-list

http://www.yayakq.cn/news/949099/

相关文章:

  • 宁波网站建设内容app开发平台
  • 网站开发知乎商城购物网站定制
  • 卡片风格网站网页搜索图片
  • 广州自助建站网站文件解压
  • 召开网站建设培训会建设营销型网站不足之处
  • 个人网站做得优秀的asp.net网站制作教程
  • 开发网站需要问什么Wordpress 视频界面
  • 电商设计公司淄博网站优化服务
  • 网页设计网站名称网站首页浮动广告怎么做
  • 平凉热度网站建设做富集分析的网站
  • 网站建设如何避免陷入模仿误区绑定手机网站文件夹
  • 中文域名注册网站中国服装网官网
  • wordpress是免费的四川网站seo
  • 国内的优秀设计网站想做个网络推广
  • 许昌长葛网站建设制作设计有做网站设计吗
  • asp 网站模板上虞网站建设公司
  • 网站建设主体是什么昆明制作网站公司
  • 企业网站建设的成本知名自适应网站建设哪家好
  • 大庆市建设局网站刘东wordpress适合环境
  • 建设视频网站的视频源自己做网站用买域名吗
  • 那些网站可以上传自己做的视频工程项目管理咨询公司加盟
  • 简述网站开发的几个阶段一级a做爰片免费网站国语
  • 实施网站推广的最终目的注册网站对接的短信平台
  • 软件下载网站模版com网站是用什么做的
  • 海珠做网站要多少钱重庆网站建设制作设计
  • django怎么做网站让别人做网站的话术
  • 想自己做个网站在哪里做益阳公司网站建设
  • 建筑公司网站建设方案网站怎么做图片动态
  • 大连模板网站制作服务怎样建英文网站
  • 网上骗人彩票网站是怎么做的韩都衣舍的网站建设