Skip to main content

Create beautiful QR-codes with perfectly fitting logos!

Project description

A command-line tool to create beautiful QR-codes with perfectly fitting logos!

Usage

qrpic takes (for the moment) only SVG images and produces an output SVG. You invoke it simply with

qrpic "data text or link you want in your qr code" path-to-logo.svg

qrpic computes the exact shape of the SVG and removes QR-code pixels that are in the way, so they don’t disturb your logo.

qrpic offers various options to control the logo size, adding shells and buffer areas around your logo so it looks proper with just the right amount of spacing. For more info, query qrpic --help:

usage: qrpic [-h] [--out FILE] [--shell {none,viewbox,convex,boundary-box}]
             [--ppi VALUE] [--svg-area VALUE] [--border VALUE]
             [--error-correction {high,medium,low}] [--buffer VALUE]
             [--shape-resolution VALUE]
             TEXT SVG-FILE

Generates QR-codes with centered logo images from SVGs in a beautiful manner,
by not just overlaying them but also removing QR-code pixels properly so they
do not interfere with the logo. Note that this tool does not (yet) check
whether the generated QR-code is actually valid.

positional arguments:
  TEXT                  The QR-code text.
  SVG-FILE              Logo SVG to center inside the QR code to be generated.

optional arguments:
  -h, --help            show this help message and exit
  --out FILE            Output filename. If none specified, outputs to stdout.
  --shell {none,viewbox,convex,boundary-box}
                        Different types of shells to enclose the given SVG
                        shape where to remove QR-code pixels. none (default):
                        No shell geometry is applied. Removes pixels as per
                        geometry inside the given svg. viewbox: Assume the SVG
                        defined viewbox to be the shell. convex: Applies a
                        convex hull. boundary-box: Applies a minimal boundary
                        box around the SVG geometry.
  --ppi VALUE           Pixels per inch. Can be used to override the default
                        value of 96 for SVGs as defined per standard.
  --svg-area VALUE      Relative area of the SVG image to occupy inside the
                        QR-code (default 0.2).
  --border VALUE        Amount of border pixels around the final QR-code.
                        Default is 1.
  --error-correction {high,medium,low}
                        QR-code error correction level. By default "high" for
                        maximum tolerance.
  --buffer VALUE        A round buffer around the SVG shape/shell to add
                        (default is 0.04). The buffer is a relative measure.
                        To deactivate the buffer, just pass 0 as value.
  --shape-resolution VALUE
                        The interpolation resolution of circular geometry such
                        as SVG circles or buffers (default 32).

Roadmap

  • Better SVG parsing and shape extraction

  • Support non-vector graphics such as PNG, JPG, etc. Properly handle image transparency

  • QR-code verification step

  • Use minimally necessary QR-code error correction level

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qrpic-0.3.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

qrpic-0.3-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file qrpic-0.3.tar.gz.

File metadata

  • Download URL: qrpic-0.3.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.6 Linux/5.13.6-100.fc33.x86_64

File hashes

Hashes for qrpic-0.3.tar.gz
Algorithm Hash digest
SHA256 03a961d0478fb5c6c1b92b2b703889f29ebc804353d433681d102136b5dc8067
MD5 7dcac19c7a4a3315263b1f89b4427426
BLAKE2b-256 fe4dfed0314dbdf7c8ab1ef3449b87cebaddc9495e02fea2db412971864c0ec1

See more details on using hashes here.

File details

Details for the file qrpic-0.3-py3-none-any.whl.

File metadata

  • Download URL: qrpic-0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.7 CPython/3.9.6 Linux/5.13.6-100.fc33.x86_64

File hashes

Hashes for qrpic-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f560411e70df6b19ebc62d6a094a99a42004e6a95cc57e9be6ab1b2757a5ceba
MD5 cdccbfbc0f937a2421fc820efbb86700
BLAKE2b-256 d65bb424dd725efa561674c09bd70da2dec283d3155702f5b837b570ee373578

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page