html如何转为pdf

article/2025/9/11 15:58:39

本篇文章给大家介绍html转pdf的方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

1、准备资源

itext.jar

www.baidu.com

html2canvas.js

www.baidu.com

2、前端代码:

 //进行截图操作,document.querySelector("body") 为要截图的区域function test() {html2canvas(document.querySelector("body"), {onrendered: function (canvas) {var dataUrl = canvas.toDataURL('image/png');var formData = new FormData(); //模拟表单对象formData.append("imgData", convertBase64UrlToBlob(dataUrl)); //写入数据var xhr = new XMLHttpRequest(); //数据传输方法xhr.open("POST", "http://localhost:8080/pdf"); //配置传输方式及地址xhr.send(formData);xhr.onreadystatechange = function () { //回调函数};}});}//格式化图片base64编码转换为byte文件流function convertBase64UrlToBlob(urlData){//去掉url的头,并转换为bytevar bytes=window.atob(urlData.split(',')[1]);//处理异常,将ascii码小于0的转换为大于0var ab = new ArrayBuffer(bytes.length);var ia = new Uint8Array(ab);for (var s = 0;s<bytes.length;s++){ia[s] = bytes.charCodeAt(s);}return new Blob( [ab] , {type : 'image/png'});}<body onclick="test()">//调用截图方法即可

3、后端代码:

@RequestMapping(value = "/pdf",method = RequestMethod.POST)public void test(MultipartHttpServletRequest request, HttpServletResponse response) throws IOException {String filePath = "D:\\blog\\exportPdf2.pdf";String imagePath = "D:\\blog\\exportImg2.png";Document document = new Document();try{Map getMap = request.getFileMap();MultipartFile mfile = (MultipartFile) getMap.get("imgData"); //获取数据InputStream file = mfile.getInputStream();byte[] fileByte = FileCopyUtils.copyToByteArray(file);FileImageOutputStream imageOutput = new FileImageOutputStream(new File(imagePath));//打开输入流imageOutput.write(fileByte, 0, fileByte.length);//生成本地图片文件imageOutput.close();PdfWriter.getInstance(document, new FileOutputStream(filePath)); //itextpdf文件document.open();document.add(new Paragraph("JUST TEST ..."));Image image = Image.getInstance(imagePath); //itext-pdf-imagefloat heigth = image.getHeight();float width = image.getWidth();int percent = getPercent2(heigth, width);  //按比例缩小图片image.setAlignment(Image.MIDDLE);image.scalePercent(percent+3);document.add(image);document.close();}catch (DocumentException de) {System.err.println(de.getMessage());}catch (Exception e) {e.printStackTrace();}}private static int getPercent2(float h, float w) {int p = 0;float p2 = 0.0f;p2 = 530 / w * 100;p = Math.round(p2);return p;}

4、包名

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;import javax.imageio.stream.FileImageOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;

5、项目源码地址

https://github.com/zhangjy520/learn_java/tree/master/boot

推荐学习:html视频教程


http://chatgpt.dhexx.cn/article/MvP8uyQR.shtml

相关文章

超级简单的html转换为pdf格式方法

类似这样一个网页 按住键盘上的ctrlp &#xff08;这个就是启动了打印选项&#xff09; 找到右上角那个地方&#xff0c;找到另存为PDF&#xff0c;然后这个网页就可以另存为PDF格式了。 我以前也用插件&#xff0c;现在感觉这个方法好用就把插件卸载了。

PDF转HTML格式怎么弄?将PDF转换为HTML的三种简便方法

PDF和HTML是两种常见的文档格式&#xff0c;它们在用途和外观上有很大的差异。然而&#xff0c;令人惊讶的是&#xff0c;这两种看似毫不相关的格式实际上可以相互转换。 一些网页编辑人员在更新网站内容时&#xff0c;通常会先将内容保存为PDF文件&#xff0c;然后在发布时将…

前端实现HTML转PDF下载的两种方式

方式一&#xff1a;使用html2canvas和jspdf插件实现 该方式是通过html2canvas将HTML页面转换成图片&#xff0c;然后再通过jspdf将图片的base64生成为pdf文件。实现步骤如下&#xff1a; 1,下载插件模块 npm install html2canvas jspdf --save2,定义功能实现方法 在项目工具…

最好用Html转pdf的工具——wkhtmltopdf

实习时公司需要把一些html页面中的部分内容生成pdf文件&#xff0c;然后我就找一些用php把html页面围成pdf文件的类。方法是可谓是找了很多很多&#xff0c;什么html2pdf,pdflib,FPDF这些都试过了&#xff0c;但是都没有达到我要的求&#xff08;主要是不能解决中文乱码的问题以…

PDF技术(四)-Java实现Html转PDF文件

html转换为pdf的关键技术是如何处理网页中复杂的css样式、以及中文乱码处理。 各实现对比表 于Windows平台进行测试&#xff1a; 基于IText 基于FlyingSaucer 基于WKHtmlToPdf 基于pd4ml 跨平台性 跨平台 跨平台 跨平台 跨平台 是否安装软件 否 否 需安装WKHtmlT…

Java实现HTML转PDF

Java实现HTML转PDF 效果图一、添加maven依赖二、代码示例三、踩坑&#xff1a;1.simsun.ttc 文件找不到问题2.中文显示问题&#xff1a;3. 问题&#xff08;当然不知这种问题 还有 >等一些特殊转义符号这里只罗列一种&#xff09; 效果图 上图是 html 效果图 生成PDF效果…

【html转pdf】html页面导出为pdf文件,纯html版本,简单实现pdf转换【html2canvas+jspdf】

前言 最近遇到的需求&#xff0c;把html转成pdf文件下载导出。 目前网上看了下&#xff0c;有三种方法&#xff0c;但是其中两种需要后端配合 一种是纯前端实现的&#xff0c;比较简单。所以就使用了这种。 也就是html2canvas jspdf 的这种方法 这种方法实现的思路就是&#…

HTML页面导出为PDF(JSPDF、ITEXT、WKHTMLTOPDF)

html页面导出pdf&#xff0c;本来是一件很简单的事情&#xff0c;在浏览器直接打印(Mac快捷键为⌘p&#xff1b;Windows快捷键为ctrlp)&#xff0c;就可以把页面另存为pdf文件&#xff0c;但对于要经常把页面导出为pdf的用户来说并不友好&#xff0c;一个合格程序员的标准就是&…

html转pdf(总结五种方法Java)

html转pdf&#xff08;总结五种方法Java&#xff09; Java 实现html转pdf&#xff0c;总结五种方法。 推荐使用wkhtmltopdf,Itext 方法一&#xff1a;使用wkhtmltopdf 1、下载插件wkhtmltopdf https://wkhtmltopdf.org/downloads.html 2、本机测试 本目录下cmd进入 输入命…

Java 动态规划

Java中的动态规划 介绍 动态规划典型的被用于优化递归算法&#xff0c;因为它们倾向于以指数的方式进行扩展。动态规划主要思想是将复杂问题&#xff08;带有许多递归调用&#xff09;分解为更小的子问题&#xff0c;然后将它们保存到内存中&#xff0c;这样我们就不必在每次…

PDF如何转换成jpg图片

PDF文件转换成jpg&#xff0c;有些人一看到问题可能有点懵逼&#xff0c;其实就是PDF转换成图片了&#xff0c;只要转换器中的PDF转图片功能中图片格式支持jpg格式&#xff0c;就可以直接转换成jpg图片了&#xff0c;比如奥凯丰 PDF转换大师&#xff0c;支持PDF转jpg、PDF转png…

数据结构和算法Java实现(韩顺平)

目录 稀疏数组 队列 数组模拟队列思路 数组模拟环形队列 链表 单链表的翻转 单链表的逆序输出&#xff08;栈&#xff09; 双向链表 Jasephu 问题 栈 数组模拟 栈实现计算器 中缀表达式 计算器 逆波兰表达式 &#xff08;后缀表达式&#xff09; 中缀转后缀实现计算…

pdf文件转图片(java实现)

项目中pdf文件太大&#xff0c;在手机端打开缓慢。需要将pdf文件转换成图片。加载比较快&#xff0c;增加用户体验。话不多说&#xff0c;直接上干货。 一、在pom引入依赖的jar <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox --><dependency&g…

袋鼠云与中航金网达成战略合作并成立信创大数据联合实验室

当前&#xff0c;加快推进“新基建”已成为新形势下国家稳定经济发展的重要方针&#xff0c;而作为“新基建底座”的信创产业&#xff0c;有望成为未来中国十年科技发展的核心领域。纵观信创产业近五年发展&#xff0c;产品和技术已从“基本可用”向“好用易用”大跨步迈进&…

基于java实现PDF转图片图片合成PDF

平常在工作中&#xff0c;经常需要用到pdf转换成图片或者图片转换成pdf的功能。能将pdf转换成图片的工具比较多&#xff0c;比如wps就支持转换为图片&#xff0c;不过高清的转换需要开通会员才行&#xff0c;比较麻烦。免费的转换不光清晰度有问题&#xff0c;还存在水印等&…

《Java语言程序设计(第三版 沈泽刚)》编程练习2

编程练习 2 2.1 编写程序&#xff0c;从键盘上输入一个double类型的华氏温度&#xff0c;然后将其转换为摄氏温度输出。转换公式为&#xff1a; 摄氏度 &#xff08; 5 / 9 &#xff09;&#xff08;华氏度 − 32 &#xff09; 摄氏度&#xff08;5/9&#xff09;&#xff08…

PDF怎么转换成jpg图片保存?简单几步就能解决。

在我们的日常工作和生活中&#xff0c;我们经常会和别人在线传输各种文件。但是在传输Word文档、Excel表格、PPT等格式的文件时&#xff0c;文件内容排版和布局容易出现变化。因此&#xff0c;人们在传输文件时一般都将文件转换为PDF&#xff0c;但PDF文件在手机上观看并不方便…

pdf如何转换成jpg图片?

pdf如何转换成jpg图片&#xff1f;PDF&#xff08;Portable Document Format&#xff09;是一种常见的文件格式&#xff0c;由Adobe Systems创建。与其他文档格式相比&#xff0c;它具有固定页面布局和跨平台兼容性等优点&#xff0c;因此广泛应用于电子书、论文、技术手册、合…

PDF怎么转换成jpg图片

PDF怎么转换成jpg图片&#xff1f;在日常工作中&#xff0c;PDF文件是一种非常常用的格式类型。文件存储安全性高&#xff0c;可以保护用户文件的内容&#xff0c;文件的转换也很方便。支持多种文件类型&#xff0c;可自由切换。有的朋友还是比较习惯查阅图片格式的内容&#x…

动态规划(Java)

文章目录 前言一、背包问题二、字符串转化问题三、纸牌问题四、最少贴纸数总结 前言 动态规划的目的就是避免重复计算&#xff0c;在暴力递归的过程中若在计算过程中产生了重复计算那么就可以进行动态规划的优化。以空间换时间&#xff0c;可以根据暴力递归的过程写出动态规划…