Java는 zxing.jar를 사용하여 QR 코드를 생성합니다.

1) maven 프로젝트를 만들고 pom.xml에서 zxing 종속성 패키지를 가져옵니다.

<종속성> 
    <groupId>com.google.zxing</groupId>             
        <artifactId>core</artifactId> 
        <version>3.3.3</version> 
</dependency> 
 <종속성> 
    <groupId>com.google.zxing</ groupId> 
        <artifactId>javase</artifactId> 
        <version>3.3.0</version> 
        <exclusions> 
            <exclusion> 
                <artifactId>core</artifactId> 
                <groupId>com.google.zxing</groupId> 
            </exclusion> 
        </제외> 
</의존성>

2) 테스트 클래스 TestController를 생성합니다. 코드는 다음과 같습니다.

import java.io.IOException; 
import java.util.HashMap; 
import java.util.Map; 


import com.google.zxing.client.j2se.MatrixToImageWriter; 
import jakarta.servlet.http.HttpServletResponse; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 

import com.google.zxing.BarcodeFormat; 
import com.google.zxing.EncodeHintType; 
import com.google.zxing.MultiFormatWriter; 
import com.google.zxing.WriterException; 
import com.google.zxing.common.BitMatrix; 
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; 


@RestController 
공개 클래스 TestController { 
 
    // 生成二维码
    @RequestMapping("/getCode")
    public void getCode(HttpServletResponse response){ 
        // QR 코드 내용 
        String contents = " Baidu, you will know "; 
        // QR 코드임을 나타냄 
        BarcodeFormat qrCode = BarcodeFormat.QR_CODE; 
        // QR 코드 너비 
        int width = 300 ; 
        // QR 코드의 높이 
        int height = 300; 
        // 반환되는 이미지 형식 
        String format = "png"; 
        response.setContentType("image/png"); 
        try {  
            Map<EncodeHintType, Object> 힌트 = new HashMap<EncodeHintType, Object>(); 
            // QR 코드 인코딩 문자 집합 설정 
            hints.put(EncodeHintType.CHARACTER_SET,"utf-8");
            // QR 코드 
            힌트 의 외부 간격 설정 .put(EncodeHintType.MARGIN, 10); 
            // QR 코드 오류 허용 수준 설정 
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); 
            // QR 코드 객체 생성
            BitMatrix bitMatrix = new MultiFormatWriter().encode(내용, qrCode, 너비, 높이, 힌트); 
            // 输出二维码
            MatrixToImageWriter.writeToStream(bitMatrix, format, response.getOutputStream()); 
        } catch (WriterException e) { 
            // TODO 자동 생성 catch 블록 
            e.printStackTrace(); 
        } catch (IOException e) { 
            // TODO 자동 생성 catch 블록 
            e.printStackTrace(); 
        } 
} 
    }

추천

출처blog.csdn.net/m0_52191385/article/details/130966653