More often than not, exchanged business cards are lost long before the contact information is manually entered into a (digital) contact database. By integrating a printed business card with a machine-readable QR code containing a formatted contact entry, the desired information may be easily scanned in to an electroinc database, utilizing software of your choice.
In the current release, contact encoding may follow either the well-established vcard standard or utilize MeCard, so that it can be scanned (e.g. with a secure app on a mobilephone) and then imported into the electronic contacts. This also has the advantage of working offline.
As formatted, the resulting card is ready to send to online printers: The resulting PDF includes a single, correctly-sized card with the necessary padding and crop marks for printing to and cutting multiple cards from a single sheet.
- all information is in the QR-Code, formatted as a vcard or MeCard
- full privacy control: input is optional, specify only what you need, you decide what information to share, e.g. I print three cards, with phone and address, without address, and only with electronic contacts, no phone nor address
- option to add a professional or personal logo
- optional icons, optional small hint texts
- several alignments
- freely defined size of paper and content
- supports honoric titles, full names, address with post office box and extended information
- supports job title
- supports telephone, email, jabber and matrix chat
- supports several urls for your homepages
- supports gitea, github, git
- supports facebook, twitter, google+, youtube, wikipedia
- supports pgp key url and fingerprint
- supports nextcloud federation id
Copy businesscard-qrcode/businesscard-qrcode.cls
to your LaTeX class path. Simplest way for installation on Linux:
mkdir ~/texmf/tex/latex/businesscard-qrcode
cp businesscard-qrcode/businesscard-qrcode.cls ~/texmf/tex/latex/businesscard-qrcode/
Alternatively, the package may be avilable in your repositories, but it may be an older version.
Important: You must use xelatex
for compilation, because xelatex
properly supports UTF-8 (e.g. needed for german umlauts or chinese characters). The package inputenc
messes up with package qrcode
.
\documentclass[<layout-options>]{businesscard-qrcode}
<data-definitions>
\begin{document}
\drawcard
\end{document}
where <layout-options>
and <data-definitions>
are explained below.
Layout options are set as options to the \documentclass
, e.g.:
\documentclass[textwidth=0.7,qrwidth=0.25,www,nofill,iconright,rightalign,hint,icon,textfirst]{businesscard-qrcode}
paperwidth=
: width of the physical paper where the card is printed on (incl. border), default:89mm
paperheight=
: height of the physical paper where the card is printed on (incl. border), default:59mm
contentwidth=
: width of the card's content without the border that is cut, default:85mm
contentheight=
: height of the card's content without the border that is cut, default:55mm
fontsize=
: any fontsize allowed inextarticle
, that are8pt
,9pt
,10pt
,11pt
,12pt
,14pt
,17pt
and20pt
, default:8pt
padding=
: padding within the card's content, default:2mm
cutdist=
: distance inmm
where the cut marks are set, default:2
cutlen=
: length of the cut marks inmm
, default:1
textwidth=
: relative width of the text block1
means full width, soqrwidth
plustextwidth
should be smaller than1
the remainig space is left empty between the text and QR-Code, default:0.55
(that's 55% of the available space)qrwidth=
: relative width of the QR-Code1
means full width, soqrwidth
plustextwidth
should be smaller than1
the remainig space is left empty between the text and QR-Code, default:0.40
(that's 40% of the available space)vcard
ormecard
: data format for QR code; mecard is simpler and includes only essential electronic information (email, phone, webpage, PGP)lang=
: language of the wikipedia page, will be prepended beforewikipedia.org
, e.g.de.wikipedia.org
, default:de
address
ornoaddress
: disable rendering of the address in text and QR-Code, default:address
zipfirst
orcityfirst
: define address printing style, whether postal code precedes or follows city, default:zipfirst
hint
ornohint
: show the little text hints, default:hint
icon
ornoicon
: show the icons, default:icon
rightalign
orleftalign
: align text left or right, default:rightalign
iconleft
oriconright
: show icon left or right of the text, default:iconleft
fill
ornofill
: fill empty space between icon and text, default:fill
qrfirst
ortextfirst
: switch position of QR-Code and text block, default:qrfirst
https
orwww
: should links in the hints be prefixed withhttps://
orwww.
, default:https
uselogo
ornologo
: add a graphic to the name header, default:nologo
(off)
Your data is entered with commands in the document, e.g.:
\email{[email protected]}
Important:: Spaces must be escaped by a backslash \
in all data definitions, if they should be kept in the QR-Code. This is a limitation of the qrcode
-package- Without escaping \
, spaces are show in the text block, but not in the QR-Code. You may make use of this feature, if you do not escape the spaces in \phone
and \pgpfingerprint
, but everywhere else. This way, phone number and pgp fingerprint are condensed in the QR-Code.
See this example_
\givennames{Juan\ Pablo}
\familynames{Martínez\ Escudero}
\additionalnames{Example\ Company\ Ltd.}
\street{Im\ Stutz\ 123}
\pobox{Postfach\ 4567}
\phone{+41 52 123 45 67}
\pgpurl{https://pgp.mit.edu/pks/lookup?op=get\&search=0xF62315D04D4C0C62}
\type
: eitherhome
orwork
for personal or business cards\givennames
: your first name and eventual middle names\familynames
: your family names\honoricprefix
: honorix name prefixes, e.g. academic titles\honoricsuffix
: honoric name suffixes\additionalnames
: additional names — I use it for the company name in business cards\displayname
: name to print on card if different than one encoded\ptitle
: professional (job) title\pobox
: post office box\extaddr
: address extension, e.g. name of a building or floor number\street
: street and number of the address\city
: name of the address location\region
: region of the address\zip
: zip code of the address\country
: full name of country of the address in the language of the card\displayaddress
: address to print on card if different than one encoded\phone
: your phone number, the phone is marked as mobile, so to be used for voice and text (SMS)\email
: your email address\jabber
: your jabber or xmpp chat address\matrixorg
: your matrix chat addres\cloud
: your nextcloud federation id — the url is prepended automatically\homepage
: url to a web site with «home» icon — withouthttps://
notwww
(unless it is required), this is prepended automatically\world
: url to a web site with «world» icon — withouthttps://
notwww
(unless it is required), this is prepended automatically\link
: url to a web site with «link» icon — withouthttps://
notwww
(unless it is required), this is prepended automatically\wordpress
: url to a web site with «wordpress» icon — withouthttps://
notwww
(unless it is required), this is prepended automatically\drupal
: url to a web site with «» icon — withouthttps://
notwww
(unless it is required), this is prepended automatically\joomla
: url to a web site with «joomla» icon — withouthttps://
notwww
(unless it is required), this is prepended automatically\wikipedia
: if you or your company have a wikipedia entry, specify documentclass optionlang
for the language of you entry and use this definition for the name of your page — the url is prepended automatically\git
: the url of your git repository — withouthttps://
notwww
(unless it is required), this is prepended automatically\gitea
: the url of your gitea project page, you can use this tag also for other project management sites, such as gogs — withouthttps://
notwww
(unless it is required), this is prepended automatically\github
: your account name on github — only the name of the account, the url is prepended automatically\facebook
: your account name on facebook or the name of your page — only the name of the account or page, the url is prepended automatically\twitter
: your account name on twitter — only the name of the account, the url is prepended automatically\youtube
: your account name on youtube — only the name of the account, the url is prepended automatically\google
: your account name on google+ — only the name of the account, the url is prepended automatically\pgpurl
: the full url to your pgp public key (only added to the QR-Code, not shown in the text)\pgpfingerprint
: the fingerprint of your pgp public key\logo
: the image file to use as a logo
The card is designed for professional printing service, such as onlineprinters. Please check the card and the QR-Code well before you pay money for printing! Choose a format, default is 89mm×59mm
with 2mm boder, so the card content is 85mm×55mm
. But the card can be adapted to any other printing format. To print cards of size 10cm×5cm
with 2mm
cut, you specify, e.g.:
\documentclass[paperheight=5.4cm,paperwidth=10.4cm,
contentheight=5cm,contentwidth=10cm,
cutdist=2]
{businesscard-qrcode}
An example layout of cards for printing on full sheets is provided.
Include the documentclass, define your data and add the document environment:
\documentclass{businesscard-qrcode}
\type{home}
\givennames{An}
\familynames{Example}
\street{Einbahnstrasse\ 84}
\city{Irgendwo}
\zip{1001}
\country{Switzerland}
\homepage{example.com}
\email{[email protected]}
\begin{document}
\drawcard
\end{document}
Save it as file texstudio_d30266.tex and compile it to get texstudio_d30266.pdf:
xelatex -synctex=1 -interaction=nonstopmode texstudio_d30266.tex
See examples for more examples.
If you are missing a feature or a configuration option, consult the project page. Just open a ticket and the author will care about it. Or extend it, it's lgpl.