pdf-design

PDF Creation and Design Manual

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pdf-design" with this command: npx skills add degrassiaaron/influencerai-monorepo/degrassiaaron-influencerai-monorepo-pdf-design

PDF Creation and Design Manual

Overview

This skill helps you create and manipulate PDF documents using Python and command-line tools. Use it to generate reports, fill forms, or customize layouts.

Creating PDFs with ReportLab

Basic Example

from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas

c = canvas.Canvas("hello.pdf", pagesize=A4) width, height = A4

Draw text

c.setFont("Helvetica-Bold", 16) c.drawString(50, height - 50, "Hello, PDF!")

Draw rectangle

c.rect(50, height - 100, 200, 50, stroke=1, fill=0)

Save

c.save()

Multipage Report

from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak from reportlab.lib.styles import getSampleStyleSheet

doc = SimpleDocTemplate("report.pdf") styles = getSampleStyleSheet() story = []

story.append(Paragraph("Report Title", styles['Title'])) story.append(Spacer(1, 12)) story.append(Paragraph("This is the report body.", styles['Normal'])) story.append(PageBreak()) story.append(Paragraph("Page 2", styles['Heading1'])) doc.build(story)

Filling PDF Forms with PyPDF

from pypdf import PdfReader, PdfWriter

reader = PdfReader("form.pdf") writer = PdfWriter()

for page in reader.pages: writer.add_page(page)

Update form fields

writer.update_page_form_field_values(writer.pages[0], { "name_field": "John Doe", "date_field": "2025-10-18" })

with open("filled_form.pdf", "wb") as f_out: writer.write(f_out)

Merging and Splitting PDFs

from pypdf import PdfMerger, PdfReader, PdfWriter

Merge

merger = PdfMerger() for pdf_file in ["file1.pdf", "file2.pdf"]: merger.append(pdf_file) merger.write("merged.pdf") merger.close()

Split first 5 pages

reader = PdfReader("big.pdf") for i, page in enumerate(reader.pages[:5]): writer = PdfWriter() writer.add_page(page) with open(f"page{i+1}.pdf", "wb") as out: writer.write(out)

Design Tips

  • Use consistent margins and spacing.

  • Choose a readable font (e.g., Helvetica or Times New Roman).

  • Use headers and footers for pagination and context.

  • Incorporate your brand colors and logo.

  • For long documents, include a table of contents with hyperlinks.

Command-Line Tools

  • pdftotext – Extract text: pdftotext -layout input.pdf output.txt .

  • qpdf – Merge/split: qpdf input.pdf --pages . 1-5 -- output.pdf .

  • pdfinfo – View metadata.

Additional Resources

  • ReportLab User Guide.

  • PyPDF documentation.

  • Poppler utils man pages.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

development

No summary provided by upstream source.

Repository SourceNeeds Review
General

pdf-design

No summary provided by upstream source.

Repository SourceNeeds Review
General

Relevance Ai

Relevance AI integration. Manage Organizations, Users. Use when the user wants to interact with Relevance AI data.

Registry SourceRecently Updated
General

Klipfolio

Klipfolio integration. Manage Dashboards, Users, Teams. Use when the user wants to interact with Klipfolio data.

Registry SourceRecently Updated