instax logo

Knjižnica generatora QR kodova

Uvod

Ovaj projekat ima za cilj da bude najbolja, najjasnija biblioteka generatora QR kodova na više jezika. Primarni ciljevi su fleksibilne opcije i apsolutna ispravnost. Sekundarni ciljevi su kompaktna veličina implementacije i dobri dokumentacijski komentari.
Početna stranica sa live JavaScript demo, opširnim opisima i poređenjima konkurenata: [https://www.nayuki.io/page/qr-code-generator-library](https://www.nayuki.io/page/qr-code-generator-library)

Karakteristike

Osnovne karakteristike:
* Dostupan u 6 programskih jezika, svi sa skoro jednakim funkcijama: Java, TypeScript/JavaScript, Python, Rust, C++, C
* Znatno kraći kod, ali više komentara na dokumentaciju u poređenju sa konkurentskim bibliotekama
* Podržava kodiranje svih 40 verzija (veličina) i sva 4 nivoa ispravljanja grešaka, prema standardu QR Code Model 2
* Izlazni format: neobrađeni moduli/pikseli QR simbola
* Točnije detektuje kaznene obrasce slične pronalazcu nego druge implementacije
* Kodira numerički i posebno alfanumerički tekst na manjem prostoru nego opći tekst
* Otvoreni kod pod dopuštenom MIT licencom

Ručni parametri:
* Korisnik može odrediti minimalni i maksimalni dozvoljeni broj verzija, tada će biblioteka automatski odabrati najmanju verziju u rasponu koja odgovara podacima
* Korisnik može ručno odrediti uzorak maske, inače će biblioteka automatski procijeniti svih 8 maski i odabrati optimalnu
* Korisnik može odrediti apsolutni nivo ispravljanja grešaka ili dozvoliti biblioteci da ga pojača ako ne poveća broj verzije
* Korisnik može kreirati listu segmenata podataka ručno i dodati ECI segmente
Opcione napredne funkcije (samo Java):
* Kodira japanski Unicode tekst u kanji modu da uštedi mnogo prostora u poređenju sa UTF-8 bajtovima
* Izračunava optimalno prebacivanje režima segmenta za tekst s mješovitim numeričkim/alfanumeričkim/opštim/kanji dijelovima Više informacija o QR Code tehnologiji i dizajnu ove biblioteke možete pronaći na početnoj stranici projekta.

Examples
Donji kod je u Javi, ali portovi drugih jezika su dizajnirani sa u suštini istim API imenovanjem i ponašanjem.
“`java
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import io.nayuki.qrcodegen.*;

// Jednostavna operacija
QrCode qr0 = QrCode.encodeText(“Zdravo, svijete!”, QrCode.Ecc.MEDIUM);
BufferedImage img = toImage(qr0, 4, 10); // Vidi QrCodeGeneratorDemo
ImageIO.write(img, “png”, novo File(“qr-code.png”));

// Ručni rad
Lista segs = QrSegment.makeSegments(“3141592653589793238462643383”);
QrCode qr1 = QrCode.encodeSegments(segs, QrCode.Ecc.HIGH, 5, 5, 2, false);
for (int y = 0; y < qr1.size; y++) {
for (int x = 0; x < qr1.size; x++) {
(… paint qr1.getModule(x, y) …)
}
}
“`

Licenca

Autorska prava ツゥ 2024 Project Nayuki. (MIT licenca)
[https://www.nayuki.io/page/qr-code-generator-library](https://www.nayuki.io/page/qr-code-generator-library)
Dozvola se ovim daje, besplatno, svakoj osobi koja dobije kopiju ovog softvera i povezane dokumentacije files (“Softver”), da posluju sa Softverom bez ograničenja, uključujući bez ograničenja prava na korištenje, kopiranje, modificiranje, spajanje, objavljivanje, distribuciju, podlicenciranje i/ili prodaju kopija Softvera, i da dozvoljavaju osobama da kome je Softver dostavljen za to, pod sljedećim uvjetima:

* Gorenavedeno obaveštenje o autorskim pravima i ovo obaveštenje o dozvoli biće uključeno u sve kopije ili značajne delove Softvera.
* Softver se pruža „kao što jeste“, bez garancije bilo koje vrste, izričite ili implicirane, uključujući, ali ne ograničavajući se na garancije za prodaju, prikladnost za određenu svrhu i nekršenje. Ni u kom slučaju autori ili nosioci autorskih prava neće biti odgovorni za bilo kakvu tužbu, štetu ili drugu odgovornost, bilo u radnji ugovora, deliktu ili na neki drugi način, koja proizlazi iz, iz ili u vezi sa Softverom ili upotrebom ili drugim poslovima u Softver.

Dokumenti / Resursi

Instax QR Code Generator Library [pdf] Uputstvo za upotrebu
QR Code Generator Library, Code Generator Library, Generator Library, Library

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *