#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import qrcode
import fitz  # PyMuPDF
from PIL import Image
import io
import sys
import os

def create_sample_pdf_with_qr():
    """创建包含二维码的示例PDF"""
    
    # 创建二维码
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    
    # 二维码内容
    qr_data = "https://www.example.com/license/91110000000000000X"
    qr.add_data(qr_data)
    qr.make(fit=True)
    
    # 创建二维码图像
    qr_img = qr.make_image(fill_color="black", back_color="white")
    
    # 保存为临时文件
    temp_qr_path = "temp_qr_sample.png"
    qr_img.save(temp_qr_path)
    
    # 创建PDF
    doc = fitz.open()  # 新建PDF
    page = doc.new_page(width=595, height=842)  # A4尺寸
    
    # 添加标题
    text = "营业执照示例\nBusiness License Sample\n统一社会信用代码: 91110000000000000X"
    page.insert_text((50, 50), text, fontsize=16)
    
    # 插入二维码
    qr_rect = fitz.Rect(400, 100, 550, 250)  # 二维码位置
    page.insert_image(qr_rect, filename=temp_qr_path)
    
    # 保存PDF
    output_path = "uploads/sample_license_with_qr.pdf"
    
    # 确保目录存在
    os.makedirs(os.path.dirname(output_path), exist_ok=True)
    
    doc.save(output_path)
    doc.close()
    
    # 清理临时文件
    if os.path.exists(temp_qr_path):
        os.remove(temp_qr_path)
    
    print(f"Sample PDF created: {output_path}")
    print(f"QR Code content: {qr_data}")
    
    return output_path

if __name__ == "__main__":
    try:
        pdf_path = create_sample_pdf_with_qr()
        print("Success!")
    except Exception as e:
        print(f"Error: {e}")
        sys.exit(1)