广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现pdf转图片案例
  • 356
分享到

Java实现pdf转图片案例

2024-04-02 19:04:59 356人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

工程加入依赖: <dependency> <groupId>org.apache.pdfbox</groupId> <art

工程加入依赖:


<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>pdfbox</artifactId>
			<version>2.0.15</version>
		</dependency>
		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>pdfbox-tools</artifactId>
			<version>2.0.15</version>
		</dependency>

pdf文件转图片:


    public static List<String> pdf2Img(File pdfFile) {
        if (pdfFile == null || !pdfFile.exists()) {
            throw new RuntimeException("pdf文件不能为空");
        }
        String name = pdfFile.getName().substring(0, pdfFile.getName().lastIndexOf("."));
        String targetPath = pdfFile.getParent() + File.separator + name;
        List<String> imgList = new ArrayList<>();
        try {
            PDDocument doc = PDDocument.load(pdfFile);
            // 页数
            int pageCount = doc.getNumberOfPages();
            PDFRenderer pdfRenderer = new PDFRenderer(doc);
            for (int i = 0; i < pageCount; i++) {
                File targetFile = new File(targetPath + File.separator + name + "-" + (i + 1) + ".jpg");
                if (!targetFile.getParentFile().exists()) {
                    FileUtil.mkdir(targetFile.getParentFile());
                }
                pdfRenderer.renderImage(i);
                BufferedImage image = pdfRenderer.renderImageWithDPI(i, 105, ImageType.RGB);
                ImageIOUtil.writeImage(image, targetFile.getPath(), 105);
                imgList.add(targetFile.getPath());
            }
        } catch (IOException e) {
            log.error("文件转换异常", e);
            throw new RuntimeException("文件转换异常,err=" + e.getMessage());
        }

pdf转成一张图片:


    
    public static String pdf2OneImg(File pdfFile) {

        List<String> imgs = pdf2Img(pdfFile);
        int len = imgs.size();
        File[] src = new File[len];
        BufferedImage[] images = new BufferedImage[len];
        int[][] ImageArrays = new int[len][];
        for (int i = 0; i < len; i++) {
            try {
                src[i] = new File(imgs.get(i));
                if (!src[i].exists()) {
                    throw new RuntimeException("文件【" + imgs.get(i) + "】不存在");
                }
                images[i] = ImageIO.read(src[i]);
            } catch (Exception e) {
                log.error("", e);
                throw new RuntimeException(e);
            }
            int width = images[i].getWidth();
            int height = images[i].getHeight();
            // 从图片中读取RGB 像素
            ImageArrays[i] = new int[width * height];
            ImageArrays[i] = images[i].getRGB(0, 0, width, height, ImageArrays[i], 0, width);
        }

        int dst_height = 0;
        int dst_width = images[0].getWidth();
        // 合成图片像素
        for (int i = 0; i < images.length; i++) {
            dst_width = dst_width > images[i].getWidth() ? dst_width : images[i].getWidth();
            dst_height += images[i].getHeight();
        }
        if (dst_height < 1) {
            throw new RuntimeException("文件合成失败,合成后的图片文件高度=" + dst_height);
        }
        String name = pdfFile.getName().substring(0, pdfFile.getName().lastIndexOf("."));
        String targetPath = pdfFile.getParent() + File.separator + name;
        // 输出路径
        File outFile = new File(targetPath + File.separator + name + "-biGone.jpg");
        // 生成新图片
        try {
            dst_width = images[0].getWidth();
            BufferedImage ImageNew = new BufferedImage(dst_width, dst_height, BufferedImage.TYPE_INT_RGB);
            int height_i = 0;
            for (int i = 0; i < images.length; i++) {
                ImageNew.setRGB(0, height_i, dst_width, images[i].getHeight(), ImageArrays[i], 0, dst_width);
                height_i += images[i].getHeight();
            }
            ImageIO.write(ImageNew, "jpg", outFile);
        } catch (Exception e) {
            log.error("图片合并异常=", e);
            throw new RuntimeException(e);
        }
        return outFile.getPath();
    }

到此这篇关于Java实现pdf转图片案例的文章就介绍到这了,更多相关Java实现pdf转图片内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java实现pdf转图片案例

本文链接: https://www.lsjlt.com/news/129547.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现pdf转图片案例
    工程加入依赖: <dependency> <groupId>org.apache.pdfbox</groupId> <art...
    99+
    2022-11-12
  • Java实现pdf转图片的工具类(三种方法实现PDF转图片的案例)【亲测可用】
    提示:有些时候我们需要在项目中展示PDF,所以我们可以将PDF转为图片,然后已图片的方式展示,效果很好。Java使用各种技术将pdf转换成图片格式,并且内容不失帧。清晰可见,该工具类也是开发中常用到的工具类。其中包括单页pdf转换成一张...
    99+
    2023-08-30
    java pdf spring boot
  • PHP 实现PDF转图片
    目录 1.环境配置: 2.实现原理: 3.安装php扩展imagick 4.安装ghostscript 5.pdf转图片 1.环境配置: 2.实现原理: Php使用扩展插件imagick进行图片处理,处理pdf时使用imagick去调...
    99+
    2023-09-06
    pdf
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
  • Java如何实现将PDF转为图片格式
    本文小编为大家详细介绍“Java如何实现将PDF转为图片格式”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现将PDF转为图片格式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。代码编译环境Intel...
    99+
    2023-07-05
  • Python实现图片色彩转换案例
    目录前言环境依赖代码执行结果前言 本文提供将图片色彩转为黑白或者褐色风格。比较类似于我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。 环境依赖 f...
    99+
    2022-11-12
  • Python实现文字pdf转换图片pdf效果
    目录前言思路代码展示前言 为什么会做这个? 因为我们把word转化为pdf,wps默认转化为文字pdf,而图片pdf要会员。 网上确实也有网站可以实现免费的,但是未必安全。 思路 我...
    99+
    2022-11-13
  • Python怎么实现文字pdf转换图片pdf效果
    本篇内容主要讲解“Python怎么实现文字pdf转换图片pdf效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现文字pdf转换图片pdf效果”吧!代码展示先安装依赖pip&n...
    99+
    2023-06-29
  • Java实现将PDF转为图片格式的方法详解
    目录代码编译环境将整个 PDF 文档转换为多个图片完整代码效果图将指定 PDF 页面转换为图片完整代码效果图PDF文件和图片文件,这是两种完全不一样的格式,可是有的时候这两种格式却是...
    99+
    2023-03-23
    Java实现PDF转图片 Java PDF转图片 Java PDF 图片
  • PHP实现PDF转图片的方法详解
    目录一、开启 Imagick 扩展二、安装imagemagick三、安装Ghostscript软件四、实例Windows环境下 一、开启 Imagick 扩展 1、安装PHP扩展:I...
    99+
    2022-12-21
    PHP PDF转图片 PHP PDF 图片
  • java将图片转化为pdf并输出
    导入依赖 org.apache.pdfbox pdfbox 2.0.19 import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.pdmo...
    99+
    2023-09-28
    java pdf 开发语言
  • Java 实现图片转base64
    一. 自己实现byte数组拷贝 public class Base64Util {// base64图片 存储的byte数组 private byte[] baseByte= new byte[...
    99+
    2023-09-13
    java 开发语言
  • Android实现excel/pdf/word/odt/图片相互转换
    目录实践过程pdf转excelexcel转pdfppt转pdfpdf转pptpdf转wordword转pdfexcel转图片pdf转图片odt转pdf实践过程 pdf转excel p...
    99+
    2023-05-15
    Android excel pdf word odt图片转换 Android excel pdf word odt 图片 Android excel Android pdf Android word
  • Qt数据库应用之实现图片转pdf
    目录一、前言二、功能特点三、体验地址四、效果图五、相关代码一、前言 用户的需求真的是千奇百怪,刚做完不同页面横向纵向排版的需求,又来个需要图片转pdf的需求,提供静态函数直接使用。 ...
    99+
    2022-11-13
  • PythonPyMuPDF实现PDF与图片和PPT相互转换
    目录安装与简介MuPDFPyMuPDFPyMuPDF使用元数据页面Page代码示例PDF转图片图片转PDFPDF转PPT文章目录 安装与简介MuPDFPyMuPDF PyMuPDF使...
    99+
    2022-12-23
    Python PyMuPDF Python PDF转图片 Python PDF转PPT
  • JAVA中使用openoffice将Excel转PDF再转图片功能的实现代码
    需求 公司一个小项目要结尾了, 有非常多的表格, 而且非常复杂, 例如 例如:(这表格, 有想死的心…) 看到这样的表格,第一反应是n脸懵逼,这得做到啥时候啊,最后想到用一个方法...
    99+
    2022-11-12
  • JAVA实现DOC转PDF的示例代码
    目录一、下载依赖二、代码实现三、转换结果四、后续研究五、总结Word作为目前主流的文本编辑软件之一,功能十分强大,应用人群广,但是它也存在一些问题。像是Word文件在不同软件或操作平...
    99+
    2022-11-12
  • Java实现将PDF转为PDF/A
    目录Jar包导入将PDF转为PDF/A通过将PDF格式转换为PDF/A格式,可保护文档布局、格式、字体、大小等不受更改,从而实现文档安全保护的目的,同时又能保证文档可读、可访问。本篇...
    99+
    2022-11-12
  • Python自动化办公之图片转PDF的实现
    安装的方式很常规,直接使用pip安装就行了。 pip install fpdf 将需要使用的三方模块导入进来 from fpdf import FPDF # PDF文档对象操作库...
    99+
    2022-11-10
  • java实现html转pdf
    需求:将一个html页面转成pdf格式。 2.方法:在实现之前先考虑一个问题,pdf是前端生成还是后端生成。这里采用pdfbox+itext(PDF文件名可自定义)技术在服务端生成。 优点:免费,不需要安转软件,速度快,对于开发者而言,开发...
    99+
    2023-08-22
    java html pdf
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作