PDF to Academic Poster Skill
Purpose
Extract text from a PDF academic paper, translate the content into Chinese, and generate a
professional, visually rich academic poster as a single self-contained HTML file.
When to Use
Load this skill when the user:
- Provides a PDF file path (or drops a PDF) and requests a "学术海报" / "academic poster"
- Asks to translate an article and visualize it as a poster
- Wants to summarize a paper in poster format for presentations or sharing
Step-by-Step Workflow
Step 1: Extract PDF Text
Use the bundled script scripts/extract_pdf.py to extract text from the PDF.
First, ensure the Python venv exists and pymupdf is installed:
# Create venv if it doesn't exist
<managed_python> -m venv <venv_path>
# Install pymupdf
<venv_pip> install pymupdf
Where:
- <managed_python> = the managed Python binary path (check runtime docs for location)
- <venv_path> = managed venv directory (e.g. <managed_python_dir>/envs/default)
- <venv_pip> = <venv_path>/Scripts/pip (Windows) or <venv_path>/bin/pip (macOS/Linux)
- <venv_python> = <venv_path>/Scripts/python (Windows) or <venv_path>/bin/python (macOS/Linux)
Then run extraction using the skill's bundled script (resolve path relative to this skill's base directory):
<venv_python> "<skill_base>/scripts/extract_pdf.py" "<pdf_path>" "<workspace>/pdf_content.txt"
Where <skill_base> is the absolute path to this skill's directory (e.g. ~/.workbuddy/skills/pdf-to-academic-poster).
Step 2: Read and Understand the Article
Read the extracted pdf_content.txt in multiple passes:
- First pass (lines 1–200): Get title, authors, abstract, introduction
- Second pass (lines 200–500): Methods, results
- Third pass (lines 500–end): Discussion, conclusions, references
Key information to extract:
- Title (original language + Chinese translation)
- Authors & Affiliation
- Journal & Year
- Background/Objective (1–2 sentences)
- Methods (study design, sample, interventions)
- Key Results (3–5 specific quantitative findings)
- Conclusions (main takeaway)
- Clinical/Practical Significance
Step 3: Generate Academic Poster HTML
Create a single self-contained HTML file with the following structure and requirements:
Visual Design Requirements
- Layout: 3-column academic poster layout, A0/widescreen proportions
- Color scheme: Deep navy/teal header gradient (
#0a2342→#1a6b6b), white cards, accent colors for highlights - Typography: Chinese + English bilingual; use system fonts or Google Fonts CDN (
Noto Sans SC) - Charts: Use Chart.js CDN for data visualizations (bar/radar charts for key results)
- Icons: Unicode symbols or simple SVG inline icons
- No external dependencies beyond CDN links (Chart.js, Google Fonts)
- Responsive: Works at 1200px+ width
Poster Sections (3 columns)
Column 1 (Left):
1. 流行病学背景 / Background — prevalence, incidence data with visual callouts
2. 病理生理机制 / Pathophysiology — numbered flow diagram (SVG or CSS-based)
3. 诊断标准 / Diagnostic Criteria — table or icon grid
Column 2 (Middle):
1. 研究设计 / Study Design — visual diagram or table
2. 干预方案 / Intervention — structured list with visual elements
3. 常规治疗对比 / Comparison with Standard Treatment — comparison table
Column 3 (Right):
1. 核心结果 / Key Results — Chart.js bar chart with quantitative data
2. 分级推荐方案 / Graded Recommendations — colored badge list
3. 安全性评估 / Safety Profile — visual summary
Header: Full-width gradient banner with title, authors, journal, year
Footer: Journal citation, corresponding author, key keywords
HTML Template Structure
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>[Article Title] — Academic Poster</title>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;700&display=swap" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
/* CSS variables, layout, cards, typography */
</style>
</head>
<body>
<!-- Header banner -->
<!-- 3-column grid -->
<!-- Footer citation -->
<script>
// Chart.js initialization
</script>
</body>
</html>
CSS Key Variables
:root {
--primary: #0a2342;
--secondary: #1a6b6b;
--accent: #e74c3c;
--accent2: #27ae60;
--accent3: #f39c12;
--text: #2c3e50;
--light-bg: #f8fafc;
--card-bg: #ffffff;
--border: #e0e8f0;
}
Step 4: Save and Preview
- Save HTML to
<workspace>/academic_poster.html - Call
preview_urlto show the poster - Call
deliver_attachmentsto deliver the file to the user
Step 5: Summary
After generating the poster, provide a brief summary in Chinese:
- Original article title and authors
- Journal and year
- 3–5 key findings
- Table showing poster sections
Notes
- If the PDF is in Spanish/English, translate all section headings and content to Chinese
- If quantitative data is sparse, use qualitative visual summaries instead of charts
- The poster should be print-ready (suitable for A0 printing at 300dpi equivalent)
- pymupdf install may require background task (
run_in_background: true) due to network conditions - Always check if venv already exists before creating it