====== barcode (2D-Barcodes) Plugin ======
---- plugin ----
description: Create 2D-Barcodes using different providers. See 'Fork' below for maintained version.
author : eIrOcA
email : staff@eiroca.net
type : syntax
lastupdate : 2019-02-24
compatible : Greebo
depends :
conflicts :
similar : QRCode, QRCode2
tags : media, images, barcode, qrcode
downloadurl: https://www.eiroca.net/apps/dokuwiki/dokuwiki-plugin-barcode.zip
bugtracker : https://github.com/eiroca/dokuwiki-plugin-barcode/issues
sourcerepo : https://github.com/eiroca/dokuwiki-plugin-barcode
donationurl: https://www.eiroca.net/
----
===== Download and Installation =====
Search and install the plugin using the [[plugin:extension|Extension Manager]] or manually with the download from the [[https://github.com/eiroca/dokuwiki-plugin-barcode/releases|GitHub Mirror]]. Refer to [[:Plugins]] on how to install plugins manually.
^ Download | [[https://www.eiroca.net/apps/dokuwiki/dokuwiki-plugin-barcode.zip]] |
Last version can be found on [[https://github.com/eiroca/dokuwiki-plugin-barcode/releases|GitHub]], including project tracking.
**Fork 2024-02-13** with ability to use **local qrencode or zint library** and compatibility for **PHP 8.2** and DokuWiki version **2024-06-04a "Kaos"** by Runout:
^ Repository |[[https://gitlab.com/dokuwiki-plugins/barcode]]|
===== Documentation =====
Barcode generates 2D barcodes using different providers, currently:
* Google Charts
* I-nigma
* Kaywa
* QRServer
* qrencode (only available in Fork of Runout)
* zint (only available in Fork of Runout)
[[https://www.zint.org.uk/|Zint]] supports a lot of different [[https://www.zint.org.uk/manual/chapter/6/1|barcode types]]. Lookup the [[https://www.zint.org.uk/manual/chapter/4|manpage]]!
Layout of the barcode can be defined by CSS styles.
Full documentation and examples [[http://www.eiroca.net/doku_barcode|here]] (English & Italian).
==== Usage ====
~~BARCODE~attribute1=value1~attribute2=value2~~
=== Attributes ===
Only one attribute of type payload can be specified. \\ If no payload attribute is given a barcode pointing to the containing page is generated.
^Attribute^Description^Type^
|id|Id to assign to the barcode img tag. \\ Control for rendering via CSS.|optional|
|class|Class to assign to the barcode img tag. \\ Control for rendering via CSS. \\ Possible values: \\ barcode_left -> barcode is left aligned \\ barcode_right -> barcode is right aligned \\ barcode_center -> barcode is centered|optional|
|mode|Only for I-nigma provider. 0 is QR-Code, 1 is DataMatrix |optional|
|size|Size of the barcode. Allowed values: S, M, L, XL|optional|
|url|payload is an URL, e.g. //url=[[https://example.org]]//|payload|
|sms|payload is a SMS, e.g. //sms=+391234567890=A Message//|payload|
|tel|payload is a telephone number, e.g. //tel=+391234567890//|payload|
|contact|payload is a contact, e.g. //contact=Name=+123432324=my@example.org//|payload|
|text|payload is a text, e.g. //text=MAILTO:my@example.org//|payload|
|caption|caption to be used on the bottom of the barcode. \\ Only for 'I-nigma'|optional|
|bgcolor|Background color of the barcode. \\ Only for ''qrencode'' and ''QRServer''. \\ For usage with ''qrencode'' see attribute ''background''|optional|
|foreground|color in hexadecimal notation: //RRGGBB[AA]// \\ 6-digit (RGB) or 8-digit (RGBA). \\ Color output support available only in PNG, EPS and SVG.|optional \\ Runout fork only|
|background|color in hexadecimal notation: //RRGGBB[AA]// \\ 6-digit (RGB) or 8-digit (RGBA). \\ Color output support available only in PNG, EPS and SVG.|optional \\ Runout fork only|
|level|Error correction level. Allowed values: L, M, Q, H|optional \\ Runout fork only|
|margin|Width of margin. (default=4)|optional \\ Runout fork only|
|dpi|DPI of the generated PNG. (default=72)|optional \\ Runout fork only|
=== Examples ===
~~BARCODE~class=barcode_left~url=http://www.eiroca.net/dokuwiki~size=S~~
~~BARCODE~class=barcode_right~url=http://www.eiroca.net/dokuwiki~size=S~~
~~BARCODE~class=barcode_center~size=M~~
For Zint (Runout fork only) use the long form parameters of the cli.
//size// is a synonym for //scale//.
~~BARCODE~class=barcode_left~url=https://www.example.org~fg=AA0000~size=S~~
~~BARCODE~barcode=aztec~scale=L~~
===== History =====
=== version 19.02 ===
* dokuwiki "Greebo" compatibility
* PHP 7.x compatibility
=== 2013/06/29 ===
* Added support fol translation plugin
=== 2011/02/03 ===
* Added button in the edit toolbar
* Support for DokuWiki "Anteater"
=== 2010/04/20 ===
* The footer can be translated into multiple languages
* New provider architecture
* New provider (QRserver)
* Easier administration
=== 2010/01/20 ===
* Simpler syntax to generate a barcode that points to the page that contains it
* Removing //death code//
=== 2010/01/05 ===
* First version
===== License & Copyright =====
Plugin is based upon [[plugin:qrcode|QRCode]]
Copyright © 2010-2019 eIrOcA (eNrIcO Croce & sImOnA Burzio)
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
===== Discussion =====
==== FAQ ====
**Is possible to draw a QR code of current page?**
From version 2010/01/20 without specifying the payload, e.g.
~~BARCODE~~
==== Requests ====
Please raise request [[https://github.com/eiroca/dokuwiki-plugin-barcode/issues|here]].
* :?: Would it be possible to create barcodes without any external provider and dependency? This would be helpful for intranets without internet access. Perhaps a library like [[http://www.phpqrcode.sourceforge.net|phpbarcode]] could be used.
* You can try runout's fork (updated for PHP 8.2) which uses the //qrencode// or //zint// library: https://gitlab.com/dokuwiki-plugins/barcode