# -*- coding: utf-8 -*-
"""生成一张模拟书页测试图（白底黑字中文段落），用于本地 RapidOCR 与 VL 引擎联调。"""
from PIL import Image, ImageDraw, ImageFont

FONT = "/usr/share/fonts/opentype/source-han-cjk/SourceHanSansSC-Medium.otf"

W, H = 1280, 1680
img = Image.new("RGB", (W, H), "white")
d = ImageDraw.Draw(img)
f_title = ImageFont.truetype(FONT, 46)
f_body = ImageFont.truetype(FONT, 38)

margin = 110
x, y = margin, margin
title = "第十二章 · 山间来信"
d.text((x, y), title, fill="black", font=f_title)
y += 110

paras = [
    "秋日的午后，阳光透过窗棂洒在书页上。我翻开这本泛黄的旧书，纸香扑面而来。文字像安静的河流，一行行流淌过眼前，让人忘记时间的流逝。远处的山脊在雾气里若隐若现，风从半掩的木窗挤进来，把摊开的稿纸掀起一角。",
    "The quick brown fox jumps over the lazy dog. 他提笔写下一行字，又停住，把墨水瓶里的钢笔尖在砚沿上轻轻一刮，重新落笔。写信人的心事往往藏得很深，字里行间却藏不住。",
    "我自幼在这片山水间长大，见过江上渔火，也见过渡口送别的清晨。老船夫撑一支长篙立在船头，斗笠压得低低的，只露出一双晒成古铜色的手。水声、桨声、问答声，在薄雾里此起彼伏。",
]
for p in paras:
    # 手工换行（近似段落宽度）
    import textwrap
    for line in textwrap.wrap(p, width=26):
        d.text((x, y), line, fill="black", font=f_body)
        y += 64
    y += 30  # 段间距

img.save("/home/zyw/Downloads/dl-hub/23-拍照OCR取字/test/sample_book_page.png")
print("test image saved, size:", img.size)
