        items=output.get('items',[]);ck('12项ID不增删且保序',[r.get('id') for r in items]==[r['id'] for r in case['input']['items']]);ck('长条目原文没有被模型改坏',[r.get('text') for r in items]==[r['text'] for r in case['input']['items']]);c=canvas.Canvas(str(f/'checklist.pdf'),pagesize=A4);style=ParagraphStyle('body',fontName=font_name(),fontSize=11,leading=16);y=780;rects=[]
        for row in items:
            p=Paragraph(html.escape(row['id']+' '+str(row['text'])),style);_,height=p.wrap(440,1000);rect=[48,y-13,61,y];rects.append(rect);c.acroForm.checkbox(name=row['id'],x=48,y=y-13,size=13,buttonStyle='check',forceBorder=True);p.drawOn(c,75,y-height);y-=max(height,16)+14
        c.showPage();c.save();fields=PdfReader(f/'checklist.pdf').get_fields();ck('PDF含12个真实表单复选框',len(fields)==12 and all(x.get('/FT')=='/Btn' for x in fields.values()));ck('复选框不互相重叠',all(a[1]>b[3] for a,b in zip(rects,rects[1:])));ck('最后一条未落到页面外',y>30);result={'field_names':list(fields),'checkbox_rects':rects,'bottom_y':y};add_native(f/'checklist.pdf')
