Back to projects

Software & Backend / Enterprise & Integration

Employee Badge Generator

A desktop document-preparation tool arranging front/back badge PDFs into A4 Word documents with previews, ordering and configurable printing layout settings.

Prototype
  • Python
  • Tkinter
  • PyMuPDF
  • python-docx
  • Pillow
  • PyInstaller

Original code-generated category illustration; not a product screenshot.

Overview

This Tkinter application renders PDF badges as images and places them into DOCX pages intended for duplex printing. Card dimensions, DPI, margins, cards per page and file order are configurable. Profiles and statistics use local JSON files; the source also supports extracting PDFs from ZIP/RAR inputs.

My role: Desktop application and document-processing work preserved in the repository. Customer scope or team responsibility is not documented in public sources.

Core components

  • Front/back PDF previews and file ordering.
  • A4 DOCX output with configurable card placement.
  • Saving/loading profiles and local statistics.
  • Options to extract PDFs from ZIP/RAR inputs.

Validation and current status

  • Editable installation, wheel/sdist builds, import and syntax checks were reported successful for the open PR.
  • CI covers packaging and source checks, not GUI or print acceptance.
  • Windows executables and physical duplex alignment were not tested.
  • Printer and Word acceptance requires a synthetic test print.
  • Excel-based employee-data merging is not an implemented feature.
  • Employee names, photos and generated documents can contain personal data.
Show additional technical details

Problem and objectives

Manually arranging many front/back badge PDFs for printing creates repetitive work. Card dimensions, spacing, ordering and duplex alignment must be considered together. The workflow also needs controlled handling of documents that may contain employee names or photographs.

Solution approach

PyMuPDF renders PDF pages, Tkinter presents previews, and python-docx places images into A4 grids. Users manage file order and printing parameters and can reuse saved profiles. The open PR corrects source-package installation and the Windows packaging entry point. An Excel-based employee-data merge is not claimed as an implemented feature.

Architecture flow

  • PDF or archive selection and card ordering through Tkinter.
  • Page processing and previews using PyMuPDF/Pillow.
  • DOCX grid generation with dimensions, DPI and front/back margins.
  • Local JSON configuration, profiles and generation statistics.

Technical challenges

  • Physical alignment varies with Word versions and printer drivers.
  • Correct src-layout package installation and Windows launcher packaging.
  • Archive support depends on external tools and trusted documents.

Engineering decisions

  • The existing large GUI module was preserved to avoid changing printing behavior.
  • Setup installs the package rather than only requirements.
  • Real employee documents are excluded from development examples and portfolio imagery.

Outcomes

  • A source-implemented workflow from PDF inputs to an editable Word print document.
  • Installation and configuration boundaries are documented; no measured time-saving claim is made.

The technical account also draws on documentation in the open improvement PR. This does not imply that the PR has been merged or the product released.

Sources and documentation
Source on GitHub