视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
academic-poster-generator【文档与办公】Complete workflow for generating academic research posters from PDF literature; use when you need to extract paper content from PDFs and produce a LaTeX-based poster (beamerposter/tikzposter/baposter) with mandatory figure generation and a final rendered HTML deliverable.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
poster.rendered.html) rather than a compiled PDF (PDF compilation is optional).assets/templates/beamerposter-template.texassets/templates/tikzposter-template.texassets/templates/baposter-template.texposter.rendered.html + figures/references/poster_quality_checklist.mdreferences/design_principles.md>=3.8pypdf (version not pinned)pdfplumber (version not pinned)pdf2image (version not pinned)pytesseract (version not pinned; required for OCR on scanned PDFs)pandas (version not pinned; optional for table handling)Pillow (version not pinned)matplotlib (version not pinned)Install (example):
pip install pypdf pdfplumber pdf2image pytesseract pandas pillow matplotlib
tesseract-ocr (for OCR; required only for scanned PDFs)pdf2image, e.g., pdftoppm)tlmgr, names may vary by distribution):
beamerpostertikzposterbaposterqrcodexcolortcolorboxsubcaptiongraphicsExample:
tlmgr install beamerposter tikzposter baposter qrcode xcolor tcolorbox subcaption graphics
pandoc (required for --html-only base HTML generation)pdf2htmlEX (optional; only if doing PDF → HTML rendering)Creates a timestamped directory under output/ and supports HTML-only mode.
python scripts/run_poster_pipeline.py paper.pdf --html-only
Expected final structure:
output/YYYYMMDD_HHMMSS/
├── poster.rendered.html
└── figures/
├── mechanism.png
├── process_flowchart.png
└── comparison_chart.png
python scripts/extract_metadata.py paper.pdf metadata.json
python scripts/structure_content.py paper.pdf --json poster_content.json --latex content.tex --max-words 800
python scripts/convert_pdf_to_images.py paper.pdf paper_images/ --dpi 600
At least 2–3 figures are required.
python scripts/generate_figures.py schematic "Cell signaling pathway" mechanism.png
python scripts/generate_figures.py flowchart "Step 1;Step 2;Step 3" process_flowchart.png
python scripts/generate_figures.py comparison '{"Control":[65],"Our Method":[87]}' comparison_chart.png
Or generate from a config:
python scripts/generate_figures.py config figures_config.json
cp assets/templates/beamerposter-template.tex poster.tex
# (Edit poster.tex: title/authors/institute + paste structured content)
python scripts/insert_figures.py poster.tex --all
# or:
python scripts/insert_figures.py poster.tex --config figures_config.json
python scripts/convert_poster.py poster.tex --html-only
# Agent step: read poster.html, validate <img> paths, inject CSS/layout, output poster.rendered.html
python scripts/check_poster_quality.py poster.rendered.html
All generated files must be placed under output/ (preferably a timestamped subdirectory). Only the following are considered final deliverables:
poster.rendered.htmlfigures/ directory (PNG figures)All other files are intermediate/temporary and must not be returned to the user, including (non-exhaustive):
poster.tex, poster.htmlmetadata.json, poster_content.json, figures_config.json, figures.json.aux, .log, .out, etc.)Conceptual flow:
PDF → metadata extraction (temp) → content structuring (temp) → figure generation (final figures/)
→ LaTeX poster (temp) → base HTML (temp) → agent rendering → poster.rendered.html (final)
pdfplumber.pdf2image) and running pytesseract.Typical extraction targets:
Supported figure categories:
Use one of the supported poster packages depending on style needs:
Templates are provided in assets/templates/.
After pandoc produces poster.html, the renderer must:
<img> references exist and paths resolve to figures/.poster.rendered.html as the only final HTML artifact.Minimum layout expectations:
Run scripts/check_poster_quality.py on the final output:
References:
references/design_principles.mdreferences/poster_quality_checklist.md