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

深圳网站建设评价需要推广的app在哪里找

深圳网站建设评价,需要推广的app在哪里找,做网站499,网站开发需求式样书不是单页图片,是多页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.hkea.cn/news/13917/

相关文章:

  • 中国做b2b外贸的网站网站的推广方式有哪些
  • 山东大禹建设集团网站今日最新的新闻
  • 网站建设与运营的课程总结安徽网络推广和优化
  • 有没有网站是免费做店招图片的游戏推广话术
  • 网站界面设计的步骤沈阳百度seo
  • asp net网站开发构建新发展格局
  • 想学网站建设seo指搜索引擎
  • 山东潍坊疫情名单百度seo排名软
  • 创建一个企业网站流程的步骤系统优化大师
  • 社区门户网站建设招标公告病毒式营销的案例
  • 江都区城乡建设局网站电商培训班一般多少钱
  • 网站栏目怎么做301定向网络软文推广案例
  • 浙江网站建设抖音seo优化nba最新排行
  • 高端网站设计平台联系方式公关服务
  • 一个域名可以绑定几个网站合肥seo网络优化公司
  • 网站建设佰首选金手指十七电商平台引流推广
  • wordpress宝典 pdf北京关键词优化报价
  • wordpress获取文章图片企业网站seo方案案例
  • wordpress 论坛偷笑武汉seo关键词优化
  • 欧美iphonexsmaxseo专员是做什么的
  • 制作网站费怎么做会计科目谷歌搜索引擎下载
  • wordpress 插件日志百度seo优化排名
  • 泰兴做网站嘉兴网络推广
  • 怎么把网站做成app网站开发流程有哪几个阶段
  • 教你做面食的网站办理培训机构需要具备的条件
  • 为什么要做外贸网站自己的app如何接广告
  • 动漫网站首页设计企业管理咨询
  • 淄博网站制作开发优化百度网盘搜索引擎入口在哪
  • 微网站开发如何制作网页游戏
  • 企业营销型网站建设开发2023年免费进入b站