# -*- coding: utf-8 -*-
"""Kiem chung DOCX: so doan/bang/anh, con ten rieng khong, tieng Viet co dau, heading den."""
import os, re
from docx import Document
from docx.shared import RGBColor

D = r'C:\Claw 2\Nghien cuu\Du-an-A-Quy-trinh-son'
P = os.path.join(D, 'Quy-trinh-son_chuan-hoa-tu-anh_05-10-2026.docx')
doc = Document(P)
txt = '\n'.join(p.text for p in doc.paragraphs)
for t in doc.tables:
    for row in t.rows:
        for c in row.cells:
            txt += '\n' + c.text

print('=== DOCX:', os.path.basename(P), os.path.getsize(P), 'byte ===')
print('   doan van      :', len(doc.paragraphs))
print('   bang          :', len(doc.tables))
print('   anh nhung     :', len(doc.inline_shapes), '(mode bw phai = 0)')
print('   emoji con lai :', len(re.findall(r'[\U0001F000-\U0001FAFF\U00002600-\U000027BF]', txt)))
print('   ky tu          :', len(txt))

print()
print('--- TEN RIENG con lai? ---')
for k in ['Trendworld', 'TRENDWORLD', 'Nguyễn Văn Tươi', 'N.D. Vững', 'Bình Thạnh chem']:
    print('   %-18s %d' % (k, txt.count(k)))
print('   mã mẫu giữ nguyên: TW.REC-011=%d | PT-011=%d | PT-002=%d | PT-06=%d' % (txt.count('TW.REC-011'), txt.count('PT-011'), txt.count('PT-002'), txt.count('PT-06')))
print('   tiếng Việt có dấu:', all(w in txt for w in ['quy trình', 'Độ bóng', 'Ngăn dầu', 'Chà nhám']))

print()
print('--- MAU CHU HEADING ---')
for s in ['Heading 1', 'Heading 2', 'Heading 3']:
    try:
        col = doc.styles[s].font.color.rgb
        print('   %-10s %s' % (s, col))
    except Exception as e:
        print('   %-10s (loi: %s)' % (s, e))

print()
print('--- 6 heading dau ---')
n = 0
for p in doc.paragraphs:
    if p.style.name.startswith('Heading') and p.text.strip():
        print('   [%s] %s' % (p.style.name, p.text[:100]))
        n += 1
        if n >= 6:
            break
print()
print('--- bang: %d bang, so dong tung bang ---' % len(doc.tables))
print('  ', [len(t.rows) for t in doc.tables])
print('--- 1 bang quy trinh chuan (dong 1-4) ---')
for t in doc.tables:
    if len(t.rows) > 5 and 'Tên chuẩn' in t.rows[0].cells[1].text:
        for r in t.rows[:4]:
            print('   |', ' | '.join(c.text[:40] for c in r.cells))
        break
