zoukankan      html  css  js  c++  java
  • springboot实现控制层返回二维码,扫描后打开PDF文件

    公司要求是弹出一个二维码,扫描二维码后进入对应的PDF文件,

     

    一. google ZXing 简介

      Java 操作二维码的开源项目很多,如 SwetakeQRCode、BarCode4j、Zxing 等等

      本文将介绍简单易用的 google 公司的 zxing,zxing 使用方便,可以操作条形码或者二维码等,不仅有 java 版本,还有 Android 版。

    二.Maven引入

     1 <!-- 二维码 https://mvnrepository.com/artifact/com.google.zxing/core -->
     2         <dependency>
     3             <groupId>com.google.zxing</groupId>
     4             <artifactId>core</artifactId>
     5             <version>3.3.0</version>
     6         </dependency>
     7         <!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
     8         <dependency>
     9             <groupId>com.google.zxing</groupId>
    10             <artifactId>javase</artifactId>
    11             <version>3.3.0</version>
    12         </dependency>

    三.代码实列

         

     1  /**
     2      *      生成二维码方法  手机扫描后可查看网格管理办法内容PDF
     3      *
     4      * @param resp response对象
     5      * @throws Exception 抛出异常
     6      */
     7     @RequestMapping("/mmqrcode")
     8     public void getQrcode(HttpServletResponse resp) throws Exception {
     9         ServletOutputStream stream = null;
    10            try {
    11                stream = resp.getOutputStream();
    12                Map<EncodeHintType, Object> hints = new HashMap<>();
    13                //编码
    14                hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
    15                //边框距
    16                hints.put(EncodeHintType.MARGIN, 0);
    17                String str="http://139.159.243.179:22816/static/files/%AC%E5%86%E6%9E%90%E5%91%A8%E6%8A%A5.pdf";
    18                QRCodeWriter writer = new QRCodeWriter();
    19                BitMatrix bm = writer.encode(str, BarcodeFormat.QR_CODE, 300, 300, hints);
    20                MatrixToImageWriter.writeToStream(bm, "png", stream);
    21            } catch (WriterException e) {
    22                e.getStackTrace();
    23            } finally {
    24                if (stream != null) {
    25                    stream.flush();
    26                    stream.close();
    27                }
    28            }
    29        }

      

    四.访问路径看效果如何

  • 相关阅读:
    二分图最大匹配的K&#246;nig定理及其证明
    HDOJ 2389 Rain on your Parade
    HDOJ 1083 Courses
    HDOJ 2063 过山车
    POJ 1469 COURSES
    UESTC 1817 Complete Building the Houses
    POJ 3464 ACM Computer Factory
    POJ 1459 Power Network
    HDOJ 1532 Drainage Ditches
    HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/KdeS/p/11282531.html
Copyright © 2011-2022 走看看