首页 > 编程语言 >aspose word转换pdf文件后将pdf文件转换为图片png

aspose word转换pdf文件后将pdf文件转换为图片png

时间:2024-09-07 15:25:58浏览次数:8  
标签:文件 转换 String image new import pdf png

aspose word转换pdf文件后将pdf文件转换为图片png


链接:aspose word模板文件生成pdf
https://www.cnblogs.com/oktokeep/p/16615900.html

package com.example.core.mydemo.aspose;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class PdfToImage {
    public static void main(String[] args) {
        String path = "D:\\pdf\\40255371604299_1_sign.pdf";
        String path2 = "D:\\pdf";
        pdfFileToImages(path,path2);

    }

    public static void pdfFileToImages(String filePath, String cachePath) {
        try {
            PDDocument pd = PDDocument.load(new File(filePath));
            PDFRenderer pdfRenderer = new PDFRenderer(pd);
            /* dpi越大转换后越清晰,相对转换速度越慢 */
            int pages = pd.getNumberOfPages();
            System.out.println("pdf总共多少页-----" + pages);
            for (int page = 0; page < pages; ++page) {
                BufferedImage image = pdfRenderer.renderImageWithDPI(page, 96, ImageType.RGB);
                //将图片数据保存为PNG格式文档
                File file= new File(cachePath + File.separator + ("new"+page) + ".png");
                ImageIO.write(image, "png", file);
                System.out.println(file.getAbsolutePath());
                System.out.println("PDF文档转PNG图片成功!");
            }
        }  catch (Exception e) {
            e.printStackTrace();
        }
    }

}

另外一种方法不适用,将word中的图片转换为图片,而不是将word文档转换为图片

package com.example.core.mydemo.aspose;

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFPictureData;

import java.awt.image.BufferedImage;
import java.io.*;
import java.util.List;

import javax.imageio.ImageIO;

/**
 * 将word中的图片转换为图片,而不是将word文档转换为图片
 * https://blog.51cto.com/u_16213439/8905749
 */
public class WordToImageConverter {
    public static void main(String[] args) {
        try {
            String wordFilePath = "D:\\pdf\\testword.docx";
            String outputImagePath = "D:\\pdf\\image33.png";

            XWPFDocument document = new XWPFDocument(new FileInputStream(wordFilePath));

            List<XWPFPictureData> pictures = document.getAllPictures();
            System.out.println("pictures size=" + pictures.size());

            for (int i = 0; i < pictures.size(); i++) {
                XWPFPictureData picture = pictures.get(i);
                byte[] pictureData = picture.getData();
                BufferedImage image = ImageIO.read(new ByteArrayInputStream(pictureData));

                String imageFileName = outputImagePath + "_" + (i + 1) + ".png";
                if(image != null) {
                    ImageIO.write(image, "png", new FileOutputStream(new File(imageFileName)));
                }
            }

            document.close();
            System.out.println("image ok 2");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

标签:文件,转换,String,image,new,import,pdf,png
From: https://www.cnblogs.com/oktokeep/p/18401717

相关文章

  • json字符串转义格式化后再转换处理demo StringEscapeUtils.unescapeJava
    json字符串转义格式化后再转换处理demoStringEscapeUtils.unescapeJava报错关键字:illegalidentifierExpectedBEGIN_OBJECTbutExpectednameatpackagecom.example.core.mydemo;importcom.alibaba.fastjson.JSON;importcom.fasterxml.jackson.core.JsonProcessingE......
  • aspose word指定位置插入图片,借助word模板文件中的书签来定位 及Java 获取网络图片
    asposeword指定位置插入图片,借助word模板文件中的书签来定位 及Java 获取网络图片链接:asposeword模板文件生成pdfhttps://www.cnblogs.com/oktokeep/p/16615900.html在Aspose.Words中,您可以使用DocumentBuilder类在指定位置插入图片。以下是一个简单的示例代码,展示如何实现......
  • HTML 转 PDF API 接口
    HTML转PDFAPI接口网络工具/文件处理支持网页转PDF高效生成PDF/提供永久链接。1.产品功能超高性能转换效率;支持将传递的HTML转换为PDF,支持转换HTML中的CSS格式;支持传递网站URL,直接转换页面成对应的PDF文件;转换后的PDF提供永久存储文件地址;全接口......
  • 【专题】2024年8月医药行业报告合集汇总PDF分享(附原数据表)
    在科技飞速发展的当今时代,医药行业作为关乎人类生命健康的重要领域,正处于前所未有的变革浪潮之中。数智医疗服务的崛起,为医疗模式带来了全新的转变,开启了医疗服务的新时代。人工智能的潜能不断释放,为医药创新注入了强大的动力,有望重塑医药行业的发展格局。同时,国家政策的导向对生命......
  • NAT技术介绍+缺陷(内网穿透+工具),NAPT(介绍,替换过程,原理,NAT转换表)
    目录NAT技术介绍NAT转换表引入介绍NAPT技术介绍 NAPT替换过程NAPT原理注意点NAT缺陷无法直接访问其他内网主机内网穿透工具其他 NAT技术介绍NAT是一种网络技术,它允许在一个公共IP地址和多个私有IP地址(入口路由器的wan口地址和私网内的私有ip)之......
  • 【专题】2024年中国游戏出海洞察报告合集PDF分享(附原数据表)
    2023年全球游戏市场规模高达6205.2亿美元,且预计未来持续增长,这清晰地展示了该市场的巨大潜力和良好前景。中国游戏在全球移动游戏市场的份额于2023年已达37%,产业贡献超30%的市场收入,这反映出中国游戏在全球市场中的地位日益重要,竞争力不断增强。中国移动游戏市场实际销售收......
  • UltraCompare 24.0 (文件比较) 中文授权版
    UltraCompare是一款文件比较工具,可以对文件、文件夹和压缩文件进行比对或者合并。UltraCompare(Windows系统)不仅能用于高度相似文本的比较(也就是文章结构、内容等一致,仅存在一些小差异),还能用于一些仅包含部分相似内容的文本比较。该版本已授权,可以使用全部功能。软件截图:使......
  • [C#基础2/21] C#注释与文件结构
    Notion原笔记页面1.注释C#支持两种不同形式的注释。单行注释以 // 开头,并在该代码行末尾结束。多行注释以 /* 开头,以 */ 结尾。下面的代码示例演示了每种注释://Thisisasinglelinecomment./*Thiscouldbeasummaryofallthecodethat'sinthiscl......
  • JAVA将中文转换为拼音
    importcom.github.promeg.pinyinhelper.Pinyin;importcom.hankcs.hanlp.HanLP;importnet.sourceforge.pinyin4j.PinyinHelper;importnet.sourceforge.pinyin4j.format.HanyuPinyinCaseType;importnet.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;importn......
  • kubernetes 中 利用yaml文件部署应用
    目录1用yaml文件部署应用有以下优点1.1声明式配置:1.2灵活性和可扩展性:1.3与工具集成:2资源清单参数介绍2.1获得资源帮助指令explain2.2编写示例2.2.1示例1:运行简单的单个容器pod2.2.2 示例2:运行多个容器pod2.2.3示例3:理解pod间的网络整合2.2.4......