Visual TimeTable using pdfschedule in Python

Python's versatility makes it ideal for schedule management and task organization. The pdfschedule library is a powerful tool that creates visually appealing timetables in PDF format using simple YAML configuration files.

In this article, we will explore how to use pdfschedule to generate professional weekly timetables with customizable colors, fonts, and layouts.

Installation

First, install pdfschedule using pip ?

pip install pdfschedule

This command downloads and installs the library along with its dependencies.

Creating the Configuration File

The pdfschedule library uses YAML files to define timetable structure. Create a file named timetable_config.yml with your schedule configuration ?

- name: Project brainstorming
  days: M
  time: 10:00 - 12:00
  color: "FFB04E"

- name: Team meeting
  days: MTWRF
  time: 14:00 - 15:30

- name: |
    Yoga session
    (Downtown Studio)
  days: M, W, F
  time: 18:00 - 19:00
  color: "29FF65"

- name: Webinar
  days: T
  time: 16:00 - 17:00
  color: "FF84DF"

- name: Personal project
  days: F
  time: 20:00 - 21:30
  color: "000000"

- name: Relaxation time
  days: SatSun
  time: 10:00 - 12:00
  color: "4226C4"

Day Representation Options

Notice the different ways to represent days in the configuration ?

  • Single day: M (Monday)
  • Multiple days: MTWRF (Monday to Friday)
  • Comma-separated: M, W, F (Monday, Wednesday, Friday)
  • Weekend shorthand: SatSun (Saturday and Sunday)

Generating the Timetable

To generate the PDF timetable from your configuration file, run the following command in your terminal ?

pdfschedule timetable_config.yml

This command reads the YAML file and generates a professional PDF timetable with your specified events, times, and colors.

Customization Options

The pdfschedule library offers various command-line options for customization ?

Option Description
-C, --color Enable colored event boxes instead of grey
-E TIME, --end-time TIME Set the end time for each day (format: HH:MM)
-F FONT, --font FONT Choose font (PostScript name or .ttf file path)
-f SIZE, --font-size SIZE Adjust font size (default: 10)
-M, --start-monday Start week with Monday instead of Sunday

Example with Custom Options

pdfschedule -C -M -f 12 timetable_config.yml

This command generates a colored timetable starting with Monday and using 12-point font size.

Key Features

  • YAML Configuration: Easy separation of design from code
  • Color Support: Hex color codes for visual appeal
  • Multi-line Events: Support for detailed event descriptions
  • Flexible Day Formats: Multiple ways to specify days
  • Font Customization: Built-in fonts or custom TTF files

Conclusion

The pdfschedule library provides an efficient way to create professional PDF timetables using simple YAML configuration. With customizable colors, fonts, and layouts, you can generate visually appealing schedules for personal or professional use.

Updated on: 2026-03-27T10:11:16+05:30

420 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements