导读跟大家讲解下有关html如何转pdf,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说html如何转pdf,小编也收集到了有关html
跟大家讲解下有关html如何转pdf,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说html如何转pdf,小编也收集到了有关html如何转pdf的相关资料,希望大家看到了会喜欢。
本篇文章给大家介绍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", convertBa64UrlToBlob(dataUrl)); //写入数据 var xhr = new XMLHttpRequest(); //数据传输方法 xhr.open("POST", "http://localh六级作文万能句式ost:8080/pdf"); //配置传输方式及地址 xhr.nd(formData); xhr.onreadystatechange = function () { //回调函数 }; } }); } //格式化图片ba64编码转换为byte文件流 function convertBa64UrlToBlob(urlData){ //去掉url的头,并转换为byte var bytes=window.atob(urlData.split(',')[1]); //处理异常,将ascii码小于0的转换为大于0 var 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, HttpServletRespon respon) 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.clo(); PdfWriter.getInstance(document, new FileOutputStream(filePath)); //itextpdf文件 document.open(); document.add(new Paragraph("JUST TEST ...")); Image image = Image.getInstance(imagePath); //itext-pdf-image float heigth = image.getHeight(); float width = image.getWidth(); int percent = getPercent2(heigth, width); //按比例缩小图片 image.tAlignment(Image.MIDDLE); image.scalePercent(percent+3); document.add(image); 可望而不可即document.clo(); }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.rvlet.http.HttpServletRespon;import java.io.File;import java.io.FileOutpu月球是什么星tStream;import java.io.IOException;import java.io.InputStream;import java.util.Map;
5、项目源码地址
https://github.com/zhangjy520/learn_java/tree/master/boot
推荐学习:html视频教程
以上就是html如何转pdf的详细内容,更多请关注php中文网其它相关文章!
来源:php中文网
本文发布于:2023-04-09 14:10:23,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/5a9609abbb5d74dd0472dc7fdd1798de.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:互联网常识:html如何转pdf.doc
本文 PDF 下载地址:互联网常识:html如何转pdf.pdf
留言与评论(共有 0 条评论) |