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.

General

spreadsheet-tools

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

development

No summary provided by upstream source.

Repository SourceNeeds Review
General

pdf-design

No summary provided by upstream source.

Repository SourceNeeds Review
General

Xiaohongshu Crawler

爬取小红书内容,支持登录搜索、笔记详情获取、用户主页信息及热门笔记,无需登录部分功能可用。

Registry SourceRecently Updated