广告
返回顶部
首页 > 资讯 > 精选 >使用JAVA怎么将PDF转换为HTML文档
  • 250
分享到

使用JAVA怎么将PDF转换为HTML文档

2023-06-15 06:06:25 250人浏览 安东尼
摘要

使用JAVA怎么将pdf转换为html文档?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。引入Maven依赖<!-- https://mvnrepositor

使用JAVA怎么将pdf转换为html文档?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

引入Maven依赖

<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->    <dependency>        <groupId>org.apache.pdfbox</groupId>        <artifactId>pdfbox</artifactId>        <version>2.0.12</version>    </dependency>

工具实现类

package com.frame.utils;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.rendering.PDFRenderer;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.*;public class PdfConvertHtmlUtil {        private static Logger logger = LoggerFactory.getLogger(PdfConvertHtmlUtil.class);        public static BufferedImage pdfStreamToPng(InputStream pdfFileInputStream){        PDDocument doc = null;        PDFRenderer renderer = null;        try {            doc = PDDocument.load(pdfFileInputStream);            renderer = new PDFRenderer(doc);            int pageCount = doc.getNumberOfPages();            BufferedImage image = null;            for (int i = 0; i < pageCount; i++) {                if (image != null) {                    image = combineBufferedImages(image, renderer.renderImageWithDPI(i, 144));                }                if (i == 0) {                    image = renderer.renderImageWithDPI(i, 144); // windows native DPI                }                // BufferedImage srcImage = resize(image, 240, 240);//产生缩略图            }            return combineBufferedImages(image);        } catch (IOException e) {            e.printStackTrace();        }finally {            try {                if(doc != null){doc.close();}            } catch (IOException e) {                e.printStackTrace();            }        }        return null;    }        public static BufferedImage combineBufferedImages(BufferedImage... images) {        int height = 0;        int width = 0;        for (BufferedImage image : images) {//height += Math.max(height, image.getHeight());            height += image.getHeight();            width = image.getWidth();        }        BufferedImage combo = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);        Graphics2D g2 = combo.createGraphics();        int x = 0;        int y = 0;        for (BufferedImage image : images) {//int y = (height - image.getHeight()) / 2;            g2.setStroke(new BasicStroke(2.0f));// 线条粗细            g2.setColor(new Color(193, 193, 193));// 线条颜色            g2.drawLine(x, y, width, y);// 线条起点及终点位置            g2.drawImage(image, x, y, null);//x += image.getWidth();            y += image.getHeight();        }        return combo;    }        public static void createHtmlByBase64(String base64,String htmlPath) {        StringBuilder stringHtml = new StringBuilder();        PrintStream printStream = null;        try {            // 打开文件            printStream = new PrintStream(new FileOutputStream(htmlPath));        } catch (FileNotFoundException e) {            e.printStackTrace();        }        // 输入HTML文件内容        stringHtml.append("<html><head>");        stringHtml.append("<meta Http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">");        stringHtml.append("<title></title>");        stringHtml.append("</head>");        stringHtml.append(                "<body style=\"\r\n" + "    text-align: center;\r\n" + "    background-color: #C1C1C1;\r\n" + "\">");        stringHtml.append("<img src=\"data:image/png;base64," + base64 + "\" />");        stringHtml.append("<a name=\"head\" style=\"position:absolute;top:0px;\"></a>");//添加锚点用于返回首页        stringHtml.append("<a style=\"position:fixed;bottom:10px;right:10px\" href=\"#head\">回到首页</a>");        stringHtml.append("</body></html>");        try {            // 将HTML文件内容写入文件中            printStream.println(stringHtml.toString());        } catch (Exception e) {            e.printStackTrace();        }finally {            if(printStream != null){printStream.close();}        }    }        public static String bufferedImageToBase64(BufferedImage bufferedImage) {        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();        String png_base64 = "";        try {            ImageIO.write(bufferedImage, "png", byteArrayOutputStream);// 写入流中            byte[] bytes = byteArrayOutputStream.toByteArray();// 转换成字节            BASE64Encoder encoder = new BASE64Encoder();            // 转换成base64串 删除 \r\n            png_base64 = encoder.encodeBuffer(bytes).trim()                    .replaceAll("\n", "")                    .replaceAll("\r", "");        } catch (IOException e) {            e.printStackTrace();        }        return png_base64;    }}

测试Demo

public static void main(String[] args) {        File file = new File("F:\\111\\Files\\MySQL查询语句大全集锦(经典珍藏).pdf");        String htmlPath = "F:\\111\\Files\\Mysql查询语句大全集锦(经典珍藏).html";        InputStream inputStream = null;        BufferedImage bufferedImage = null;        try {            inputStream = new FileInputStream(file);            bufferedImage = pdfStreamToPng(inputStream);            String base64_png = bufferedImageToBase64(bufferedImage);            createHtmlByBase64(base64_png,htmlPath);        } catch (FileNotFoundException e) {            e.printStackTrace();        }finally {            try {                if(inputStream != null){inputStream.close();}            } catch (IOException e) {                e.printStackTrace();            }        }    }

最终结果 转换后文件

使用JAVA怎么将PDF转换为HTML文档

转换后的文件内容

使用JAVA怎么将PDF转换为HTML文档

文件预览效果

使用JAVA怎么将PDF转换为HTML文档

Java的优点是什么

1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面向网络的语言;4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。;5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。7. 可移植性,Java可以方便地移植到网络上的不同机器。8.解释执行,Java解释器直接对Java字节码进行解释执行。

关于使用JAVA怎么将PDF转换为HTML文档问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 使用JAVA怎么将PDF转换为HTML文档

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

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

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

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

下载Word文档
猜你喜欢
  • 使用JAVA怎么将PDF转换为HTML文档
    使用JAVA怎么将PDF转换为HTML文档?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。引入Maven依赖<!-- https://mvnrepositor...
    99+
    2023-06-15
  • Java 将Word文档转换为PDF
    前言本文将介绍如何使用免费Java Word组件Free Spire.Doc for Java在Java应用程序中将Word文档转换到PDF格式。Free Spire.Doc for Java在转换过程中能够识别中文字符并支持丰富的word...
    99+
    2023-06-02
  • win8自带的Skydrive转换PDF文档将pdf转为word文档
    知识点分析: 优点:不需要安装任何第三方转换软件,直接将pdf转为word文档,且十分稳定,不会像第三方工具转换后打开会产生一些不能识别的乱码 操作步骤: 1.打开 https://skydrive.liv...
    99+
    2022-06-04
    文档 自带 Skydrive
  • 怎么将pdf转换为html
    本篇文章给大家分享的是有关怎么将pdf转换为html,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。先打开pdf格式转换工具,选择转换格式“文件转html“;然后添加要转换的pd...
    99+
    2023-06-15
  • 如何在java中使用openoffice将office文档转换为PDF
    如何在java中使用openoffice将office文档转换为PDF?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1....
    99+
    2023-05-30
    java openoffice office
  • 怎么在将html转换为pdf
    怎么在将html转换为pdf?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,...
    99+
    2023-06-14
  • 怎么使用POI将HTML文件转换为Word文档
    这篇文章主要讲解了“怎么使用POI将HTML文件转换为Word文档”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用POI将HTML文件转换为Word文档”吧!首先,我们需要在代码中添加...
    99+
    2023-07-06
  • Java如何将HTML文件转换为PDF文件
    随着互联网时代的到来,网页越来越成为人们获取信息的主要渠道。但是,网页上的信息无法离线保存,有时用户需要在没有网络连接的情况下查看网页内容。这时,转换网页为PDF文件就成为了不错的选择。在众多的软件中,Java有着较为强大的PDF生成能力,...
    99+
    2023-05-14
  • 使用Python将Word文档转换为PDF的方法
    摘要: 文介绍了如何使用Python编程语言将Word文档转换为PDF格式的方法。我们将使用python-docx和pywin32库来实现这个功能,这些库提供了与Microsoft Word应用程序的交互能力。 正文: 在现实生活和工作中,...
    99+
    2023-10-03
    python word2pdf python-docx pywin32
  • java怎么将Word文档转为HTML
    Java 是一种广泛使用的编程语言,它可以通过编写代码实现进行各种计算和数据处理任务。在 Java 中,我们可以使用不同的 API 实现将 Word 文档转换为 HTML。在这篇文章中,我们将着重讨论使用 Apache POI(Java A...
    99+
    2023-05-14
  • Java中怎么将html转为pdf
    近年来,随着数字化进程的不断推进,电子化文件的需求也越来越高。在实际工作中,我们常常需要将 HTML 文件转换为 PDF 文件,在此过程中需要使用到 Java 编程技术。本文将从以下三个方面介绍 HTML 转 PDF 的 Java 实现方法...
    99+
    2023-05-14
  • 怎么在将html转换为word文档格式
    怎么在将html转换为word文档格式?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、首先在HTML网页任意位置点击鼠标右键,选择“网页另存为”。2、根据需要将HTML网...
    99+
    2023-06-14
  • 怎么通过POI将HTML转换为Word文档
    本文小编为大家详细介绍“怎么通过POI将HTML转换为Word文档”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么通过POI将HTML转换为Word文档”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先,我们...
    99+
    2023-07-06
  • 怎么用python包pdfkit将HTML转换为PDF
    本篇内容介绍了“怎么用python包pdfkit将HTML转换为PDF”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python包-pdfk...
    99+
    2023-06-30
  • 如何在iPhone上将Word文档转换为PDF
    无论是银行对账单还是求职简历,在某些场景下,您都需要在线提交 PDF 格式的文件。大多数文档仍然以Word格式在iPhone上存储的大部分时间。但是iPhone上没有专用的默认应用程序可以直接将Word文档转换为pdf格式,安装任何不安全的...
    99+
    2023-07-12
  • C#怎么将Word或Excel文档转换为Html文件
    这篇文章主要介绍“C#怎么将Word或Excel文档转换为Html文件”,在日常操作中,相信很多人在C#怎么将Word或Excel文档转换为Html文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么将...
    99+
    2023-07-02
  • 怎么将PDF转换为HTML?方法浅析
    随着数字化时代的来临,越来越多的资料被电子化,其中 PDF 文档是最常见的一种。虽然 PDF 文档在跨平台性、排版规范性上都有很大的优势,然而在网页显示和搜索活动中都会遇到很大的困难。因此,将 PDF 文档转化为 HTML 格式成了一项必要...
    99+
    2023-05-14
  • html怎么转换为pdf
    本篇内容主要讲解“html怎么转换为pdf”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html怎么转换为pdf”吧!   html转换为pdf的方法:  ...
    99+
    2022-10-19
  • C#将Word或Excel文档转换为Html文件
    这个是CodeProject上的一篇文章:Microsoft Interop API to convert the .doc, .docx, .dot, .dotx and .xls...
    99+
    2022-11-13
  • 怎么将xdf文件转换为word文档
    这篇文章将为大家详细讲解有关怎么将xdf文件转换为word文档,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。把xdf文件转为word文档的方法找到一篇XDF文档,并使用稻壳阅读器打开打开xd...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作