feat(export): add PDF report generator and --format pdf option - #471
Conversation
|
When testing the snapcode question I noticed some issues with link rendering:
But it is rendered in the report as follows: Only the first line is clickable, and some characters are added that shouldn't be there. Looks great otherwise! |
|
@kristoisberg The issue happened because ReportLab’s Wrapping the raw URL strings with I pushed the fix in (31e9326). |
… quality while preserving PDF layout size
…ort bug, update CONTRIBUTING
…d IMAGE_HEURISTIC_KEYS

Description
Adds a PDF report generator feature to
user-scanner.Key Changes
user_scanner/core/pdf_generator.py): Built with ReportLab, Pillow, and Svglib. Generates an Intelligence Dossier containing header details with tool version, target summary box, identified profile media grid (60x60 square cropped avatars), digital footprint mapping table, and extracted deep intelligence cards with proper vertical leading to prevent text overlap.user_scanner/core/formatter.py): Addedinto_pdfwrapper function.user_scanner/__main__.py): Updated-f/--formatchoices to acceptpdf, auto-detected.pdffile extensions, and added--no-pdf-mediaflag option to skip avatar downloads if needed.pyproject.toml): Definedpdf = ["reportlab>=4.0.0", "pillow>=10.0.0", "svglib>=1.5.0"].tests/test_pdf_generator.py): Comprehensive test suite covering PDF generation, magic byte verification, header version display, and missing dependency fallbacks.