What problem does it solve? Working with PDF files programmatically is fragmented across many libraries and tools, and tasks like form filling, table extraction, OCR on scanned documents, and polished report generation each require different approaches and careful validation. ## Core Features & Use Cases - PDF Manipulation: Merge, split, rotate, encrypt, decrypt, watermark, and crop PDFs using pypdf, qpdf, and pdftk. - Content Extraction: Extract text, tables, metadata, and embedded images with pdfplumber, pypdf, and poppler-utils, plus OCR for scanned PDFs via pytesseract. - PDF Generation: Create polished reports with ReportLab/Platypus, including CJK font support, tables of contents, and styled tables, with fallback guidance when WeasyPrint or PyMuPDF are unavailable. - Form Filling: Fill both fillable AcroForm fields and non-fillable forms via text annotations, with structure extraction, bounding-box validation, and visual verification scripts. - Use Case: Given a scanned non-fillable application form, extract its structure, estimate field coordinates from page images, validate bounding boxes, fill it with annotations, and verify the output visually. ## Quick Start Ask the assistant to merge two PDF files into one, extract the tables from a report PDF into a spreadsheet, or fill in a PDF form using the provided field values.