-
Notifications
You must be signed in to change notification settings - Fork 35
Description
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, ListFlowable, ListItem, PageBreak
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import cm
file_name = "Global_Internships_Application_Strategy_Playbook.pdf"
doc = SimpleDocTemplate(
file_name,
pagesize=A4,
rightMargin=2cm,
leftMargin=2cm,
topMargin=2cm,
bottomMargin=2cm
)
styles = getSampleStyleSheet()
styles.add(ParagraphStyle(name="Title", fontSize=18, spaceAfter=14, alignment=1))
styles.add(ParagraphStyle(name="Header", fontSize=14, spaceBefore=14, spaceAfter=6))
styles.add(ParagraphStyle(name="Body", fontSize=10.5, spaceAfter=6))
story = []
story.append(Paragraph("Global Internship Application Strategy Playbook", styles["Title"]))
story.append(Paragraph(
"This playbook outlines timelines, departments, and a neutral SOP framework designed for "
"fully funded, high-value international internships.", styles["Body"]
))
story.append(Spacer(1, 12))
story.append(Paragraph("1. Recommended Application Timeline", styles["Header"]))
timeline = [
"Before semester start: Prepare CV variants, transcripts, references.",
"Weeks 1–4 of semester: Apply to OECD and UN internships (rolling intake).",
"Mid-semester: Apply to WHO and UNESCO roles.",
"Track CERN fixed deadlines carefully.",
"Apply to METI Japan only if time allows."
]
story.append(ListFlowable(
[ListItem(Paragraph(t, styles["Body"])) for t in timeline],
bulletType="bullet",
leftIndent=16
))
story.append(Spacer(1, 12))
story.append(Paragraph("2. Departments to Target", styles["Header"]))
departments = {
"OECD": [
"Public Governance",
"Development Co-operation",
"Education and Skills",
"Communications and Public Affairs"
],
"UNDP / UN Secretariat": [
"Programme Management",
"Partnerships and Resource Mobilisation",
"Communications",
"Operations / Executive Offices"
],
"CERN": [
"Administrative Student Programme",
"Communications Group",
"Project Management Offices"
],
"WHO / UNESCO": [
"Communications and External Relations",
"Programme Support Units",
"Conference and Events Teams"
]
}
for org, deps in departments.items():
story.append(Paragraph(org, styles["Body"]))
story.append(ListFlowable(
[ListItem(Paragraph(d, styles["Body"])) for d in deps],
bulletType="bullet",
leftIndent=28
))
story.append(Spacer(1, 6))
story.append(PageBreak())
story.append(Paragraph("3. Neutral SOP Framework", styles["Header"]))
sop_points = [
"Brief academic background and interest in international coordination.",
"Motivation to learn how large organisations manage stakeholders and programmes.",
"Relevant skills: management, communication, event coordination, teamwork.",
"Alignment with organisation’s mandate.",
"Closing: adaptability, contribution, and learning mindset."
]
story.append(ListFlowable(
[ListItem(Paragraph(s, styles["Body"])) for s in sop_points],
bulletType="bullet",
leftIndent=16
))
story.append(Spacer(1, 12))
story.append(Paragraph(
"Use language such as: cross-cultural coordination, stakeholder engagement, programme support, "
"institutional systems learning. Avoid mentioning startups or entrepreneurship explicitly.",
styles["Body"]
))
story.append(Spacer(1, 12))
story.append(Paragraph("4. Final Advice", styles["Header"]))
story.append(Paragraph(
"Apply broadly but thoughtfully. Treat each internship as an opportunity to observe systems, "
"build trust, and learn deeply rather than seek visibility.", styles["Body"]
))
doc.build(story)
print("PDF created:", file_name)