当前位置: 首页 > news >正文

免费移动网站模板下载培训课程网站

免费移动网站模板下载,培训课程网站,可以做图片视频的网站,天津高端网站不是单页图片,是多页PDF转成一张图片的逻辑。 我这里的场景是PDF转成图片之后返回给前端,前端再在图片上实现签字,并且可拖拽的逻辑,就是签订合同的场景。 但是这里只写后端多页PDF转图片的逻辑。 先说逻辑,后面直接…

不是单页图片,是多页PDF转成一张图片的逻辑。

我这里的场景是PDF转成图片之后返回给前端,前端再在图片上实现签字,并且可拖拽的逻辑,就是签订合同的场景。

但是这里只写后端多页PDF转图片的逻辑。

先说逻辑,后面直接上代码,大致分为以下几步:

  1. 读取PDF文件(我的代码里是将在线的URL转成InputStream了)
  2. 按PDF的页面循环计算图片的宽度和高度,其中宽度为PDF最宽的那一页的宽度(毕竟有的PDF比较骚,可能一页是横的,一页是竖的),高度为所有页面加起来的高度
  3. 用Graphics2D绘制
  4. 将Graphics2D的绘制结果输出为图片(只要有outputStream都好说,我这里是输出成base64给前端了,没什么存起来的必要)

好了,直接上代码:

先在pom.xml导入依赖:

		<!--   pdf读取     --><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.1</version></dependency><dependency><groupId>org.apache.pdfbox</groupId><artifactId>fontbox</artifactId><version>2.0.1</version></dependency>
	public String getSinglePicBase64Contracts(String fileUrl) throws IOException {byte[] pdfBytes = HttpUtil.createGet(fileUrl).execute().bodyBytes();InputStream inputStream = new ByteArrayInputStream(pdfBytes);PDDocument doc = PDDocument.load(inputStream);PDFRenderer pdfRenderer = new PDFRenderer(doc);List<BufferedImage> imageList = new ArrayList<>(doc.getNumberOfPages());int maxWidth = 0;int totalHeight = 0;for (int i = 0; i < doc.getNumberOfPages(); i++) {BufferedImage image = pdfRenderer.renderImage(i, 1.25f);imageList.add(image);if (image.getWidth() > maxWidth) {maxWidth = image.getWidth();}totalHeight += image.getHeight();}// 绘制结果BufferedImage result = new BufferedImage(maxWidth, totalHeight, BufferedImage.TYPE_INT_RGB);Graphics2D g2d = result.createGraphics();int nowHeight = 0;for (BufferedImage bufferedImage : imageList) {// padding 为页面的左边距int padding = (maxWidth - bufferedImage.getWidth()) / 2;g2d.drawImage(bufferedImage, padding, nowHeight, null);nowHeight += bufferedImage.getHeight();}ByteArrayOutputStream outputStream =  new ByteArrayOutputStream();ImageIO.write(result, "png", outputStream);String singlePicBase64 = "data:image/png;base64," + Base64.encodeBase64String(outputStream.toByteArray());return singlePicBase64;}
http://www.zhongyajixie.com/news/14689.html

相关文章:

  • 网站开发课程论文广告投放网
  • 网站基础维护电子商务网站建设多少钱
  • 上海浦东新区网站什么是seo技术
  • led营销型网站建设影视站seo教程
  • 做网站公司是干什么的有没有可以代理推广的平台
  • 镇江网站设计百度指数网
  • 做网页的网站叫什么河北网络推广技术
  • 单位网站平台建设汇报免费推广神器
  • 网站托管服务合同广告软文范例
  • 手机模块网站整合营销的特点有哪些
  • 做衣服批发网站p2p台州怎样把自己的产品放到网上销售
  • 江门市住房建设管理局网站网上推广培训
  • 阿里云的虚拟主机用什么做网站百度提交链接
  • 网站建设的实训报告的实训感受怎么让客户主动找你
  • 做平面资源比较好的网站上海做推广的引流公司
  • 百度怎样免费发布信息seo专业优化方法
  • 淘宝客网站要多大空间推广费用一般多少
  • 有什么网站可以下做闭软件湖南专业关键词优化
  • 怎么运营网站培训心得体会200字
  • 西安seo网站关键词2023年7 8月十大新闻
  • 网站设计公司 上腾讯朋友圈广告怎么投放
  • 免费做封面的网站怎样做网站的优化、排名
  • 北京网站开发公司有哪些2345网址导航手机版
  • 蜂蜜网站建设seo页面排名优化
  • 爱企查官网重庆关键词seo排名
  • 做童鞋的一些外贸网站域名解析ip138在线查询
  • 内容导购网站模板外包公司什么意思
  • 杭州网站建设招聘网品牌营销策略案例
  • 专做机票网站的软件公司亚马逊关键词优化软件
  • 篇高端网站愿建设营销网站建设选择