|
| 1 | +Simple QrCode |
| 2 | +======================== |
| 3 | + |
| 4 | +[](https://travis-ci.org/SimpleSoftwareIO/simple-qrcode) |
| 5 | +[](https://packagist.org/packages/simplesoftwareio/simple-qrcode) |
| 6 | +[](https://packagist.org/packages/simplesoftwareio/simple-qrcode) |
| 7 | +[](https://packagist.org/packages/simplesoftwareio/simple-qrcode) |
| 8 | +[](https://packagist.org/packages/simplesoftwareio/simple-qrcode) |
| 9 | + |
| 10 | +- [Introduzione](#docs-introduction) |
| 11 | +- [Traduzioni](#docs-translations) |
| 12 | +- [Configurazione](#docs-configuration) |
| 13 | +- [Semplici Utilizzi](#docs-ideas) |
| 14 | +- [Utilizzo](#docs-usage) |
| 15 | +- [Helpers](#docs-helpers) |
| 16 | +- [Uso generico dei QrCode](#docs-common-usage) |
| 17 | +- [Uso al di fuori di Laravel](#docs-outside-laravel) |
| 18 | + |
| 19 | +<a id="docs-introduction"></a> |
| 20 | +## Introduzione |
| 21 | +Simple QrCode è un semplice wrapper per il popolare framework Laravel basato sul bellissimo lavoro [Bacon/BaconQrCode](https://github.com/Bacon/BaconQrCode). Abbiamo creato un'interfaccia familiare e semplice da installare per gli utenti Laravel. |
| 22 | + |
| 23 | +<a id="docs-translations"></a> |
| 24 | +## Traduzioni |
| 25 | +Siamo alla ricerca di utenti che ci aiutino a tradurre la documentazione in Arabo, Spagnolo, Francese, Coreano o Giapponese. Se pensate di potercela fare non esitate a fare una pull request! |
| 26 | + |
| 27 | +<a id="docs-configuration"></a> |
| 28 | +## Configurazione |
| 29 | + |
| 30 | +#### Composer |
| 31 | + |
| 32 | +Per prima cosa, aggiungete il pacchetto di Simple QrCode al file `require` in `composer.json`: |
| 33 | + |
| 34 | + "require": { |
| 35 | + "simplesoftwareio/simple-qrcode": "~1" |
| 36 | + } |
| 37 | + |
| 38 | +Ora lanciate il comando `composer update`. |
| 39 | + |
| 40 | +#### Service Provider |
| 41 | + |
| 42 | +###### Laravel 4 |
| 43 | +Registrate `SimpleSoftwareIO\QrCode\QrCodeServiceProvider` nel vostro `app/config/app.php` all'interno dell'array `providers`. |
| 44 | + |
| 45 | +###### Laravel 5 |
| 46 | +Registrate `SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class` nel vostro `config/app.php` all'interno dell'array `providers`. |
| 47 | + |
| 48 | +#### Alias |
| 49 | + |
| 50 | +###### Laravel 4 |
| 51 | +Infine, registrate `'QrCode' => 'SimpleSoftwareIO\QrCode\Facades\QrCode'` nel vostro file di configurazione `app/config/app.php` all'interno dell'array `aliases`. |
| 52 | + |
| 53 | +###### Laravel 5 |
| 54 | +Infine, registrate `'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class` nel vostro file di configurazione `config/app.php` all'interno dell'array `aliases`. |
| 55 | + |
| 56 | +<a id="docs-ideas"></a> |
| 57 | +## Semplici Utilizzi |
| 58 | + |
| 59 | +#### Print View |
| 60 | + |
| 61 | +Uno degli usi principali di questo pacchetto è la possibilità di avere codici Qr in tutte le nostre print views. Questo permette all'utente di tornare alla pagina originale semplicemente facendo lo scan del codice. Tutto ciò è possibile aggiungendo le seguenti linee nel nostro footer.blade.php. |
| 62 | + |
| 63 | + <div class="visible-print text-center"> |
| 64 | + {!! QrCode::size(100)->generate(Request::url()); !!} |
| 65 | + <p>Scansionami per tornare alla pagina principale.</p> |
| 66 | + </div> |
| 67 | + |
| 68 | +#### Incorporare un QrCode |
| 69 | + |
| 70 | +Potreste incorporare un codice Qr in una e-mail per permettere agli utenti uno scan immediato. Il seguente è un esempio di come potresti fare tutto ciò con Laravel. |
| 71 | + |
| 72 | + //Inside of a blade template. |
| 73 | + <img src="{!!$message->embedData(QrCode::format('png')->generate('Incorporami in una e-mail!'), 'QrCode.png', 'image/png')!!}"> |
| 74 | + |
| 75 | +<a id="docs-usage"></a> |
| 76 | +## Utilizzo |
| 77 | + |
| 78 | +#### Utilizzo Base |
| 79 | + |
| 80 | +Usare il generatori di codici Qr è molto semplice. La sintassi più semplice è: |
| 81 | + |
| 82 | + QrCode::generate('Trasformami in un QrCode!'); |
| 83 | + |
| 84 | +Questo comando produrrà un codice Qr che dice "Trasformami in un QrCode!" |
| 85 | + |
| 86 | +#### Generate |
| 87 | + |
| 88 | +`Generate` è usato per creare codici Qr: |
| 89 | + |
| 90 | + QrCode::generate('Trasformami in un QrCode!'); |
| 91 | + |
| 92 | +>Attenzione! Questo metodo deve essere chiamato per ultimo se lo si usa all'interno di una catena (chain). |
| 93 | +
|
| 94 | +`Generate` restituirà, di default, una stringa di immagini SVG. Puoi stamparla direttamente in un browser recente dal sistema Blade di Laravel con il seguente codice: |
| 95 | + |
| 96 | + {!! QrCode::generate('Make me into a QrCode!'); !!} |
| 97 | + |
| 98 | +Il metodo `generate` accetta un secondo parametro che indica la directory nella quale verrà salvato il codice Qr. |
| 99 | + |
| 100 | + QrCode::generate('Make me into a QrCode!', '../public/qrcodes/qrcode.svg'); |
| 101 | + |
| 102 | +#### Variazione del formato |
| 103 | + |
| 104 | +>QrCode Generator è impostato di default per generare immagini SVG. |
| 105 | +
|
| 106 | +>Attenzione! Il metodo `format` deve essere chiamato prima di qualunque altra opzione di formato come `size`, `color`, `backgroundColor`, o `margin`. |
| 107 | +
|
| 108 | +Momentaneamente, sono supportati tre formati: PNG, EPS e SVG. Per cambiare il formato usare uno dei seguenti comandi: |
| 109 | + |
| 110 | + QrCode::format('png'); //Genererà un'immagine PNG |
| 111 | + QrCode::format('eps'); //Genererà un'immagine EPS |
| 112 | + QrCode::format('svg'); //Genererà un'immagine SVG |
| 113 | + |
| 114 | +#### Variazione della grandezza |
| 115 | + |
| 116 | +>QrCode Generator restituirà, di default, la più piccola grandezza possibile per creare il QrCode. |
| 117 | +
|
| 118 | +Puoi cambiare la grandezza del codice Qr usando il metodo `size`. Basta specificare la grandezza desiderata, in pixel, usando la seguente sintassi: |
| 119 | + |
| 120 | + QrCode::size(100); |
| 121 | + |
| 122 | +#### Variazione del colore |
| 123 | + |
| 124 | +>Fai attenzione quando cambi il colore di un QrCode! Alcuni lettori potrebbero avere dei problemi a leggere dei codici Qr colorati diversamente. |
| 125 | +
|
| 126 | +Tutti i colori dovranno essere espressi in RGB (Rosso Verde Blu). Puoi cambiare il colore di un QrCode usando questa sintassi: |
| 127 | + |
| 128 | + QrCode::color(255,0,255); |
| 129 | + |
| 130 | +Puoi anche cambiare il colore di sfondo con la seguente istruzione: |
| 131 | + |
| 132 | + QrCode::backgroundColor(255,255,0); |
| 133 | + |
| 134 | +#### Variazione del margine |
| 135 | + |
| 136 | +E' anche possibile variare il margine attorno al codice Qr. Basta infatti specificare la grandezza del margine nella seguente sintassi: |
| 137 | + |
| 138 | + QrCode::margin(100); |
| 139 | + |
| 140 | +#### Correzione dell'errore |
| 141 | + |
| 142 | +Cambiare il livello di correzione dell'errore è facile. Per farlo, usare questa sintassi: |
| 143 | + |
| 144 | + QrCode::errorCorrection('H'); |
| 145 | + |
| 146 | +Seguono le opzioni supportate dal metodo `errorCorrection`. |
| 147 | + |
| 148 | +| Error Correction | Assurance Provided | |
| 149 | +| --- | --- | |
| 150 | +| L | 7% of codewords can be restored. | |
| 151 | +| M | 15% of codewords can be restored. | |
| 152 | +| Q | 25% of codewords can be restored. | |
| 153 | +| H | 30% of codewords can be restored. | |
| 154 | + |
| 155 | +>Più error correction viene usata, più sarà grande il QrCode e meno dati sarà in grando di contenere. Leggi di più a riguardo [error correction](http://en.wikipedia.org/wiki/QR_code#Error_correction). |
| 156 | +
|
| 157 | +#### Encoding |
| 158 | + |
| 159 | +Puoi cambiare l'encoding dei caratteri utilizzato per creare il codice Qr. Di default è selezionato `ISO-8859-1`. Leggi di più a riguardo [character encoding](http://en.wikipedia.org/wiki/Character_encoding) |
| 160 | +Puoi cambiare l'encoding utilizzando: |
| 161 | + |
| 162 | + QrCode::encoding('UTF-8')->generate('Trasformami in un QrCode con simboli speciali ??!!'); |
| 163 | + |
| 164 | +| Encoder dei caratteri | |
| 165 | +| --- | |
| 166 | +| ISO-8859-1 | |
| 167 | +| ISO-8859-2 | |
| 168 | +| ISO-8859-3 | |
| 169 | +| ISO-8859-4 | |
| 170 | +| ISO-8859-5 | |
| 171 | +| ISO-8859-6 | |
| 172 | +| ISO-8859-7 | |
| 173 | +| ISO-8859-8 | |
| 174 | +| ISO-8859-9 | |
| 175 | +| ISO-8859-10 | |
| 176 | +| ISO-8859-11 | |
| 177 | +| ISO-8859-12 | |
| 178 | +| ISO-8859-13 | |
| 179 | +| ISO-8859-14 | |
| 180 | +| ISO-8859-15 | |
| 181 | +| ISO-8859-16 | |
| 182 | +| SHIFT-JIS | |
| 183 | +| WINDOWS-1250 | |
| 184 | +| WINDOWS-1251 | |
| 185 | +| WINDOWS-1252 | |
| 186 | +| WINDOWS-1256 | |
| 187 | +| UTF-16BE | |
| 188 | +| UTF-8 | |
| 189 | +| ASCII | |
| 190 | +| GBK | |
| 191 | +| EUC-KR | |
| 192 | + |
| 193 | +>L'errore `Could not encode content to ISO-8859-1` significa che si sta usando l'encoding erraro. E' raccomandato usare `UTF-8` se non si è sicuri. |
| 194 | +
|
| 195 | +#### Merge |
| 196 | + |
| 197 | +Il metodo `merge` unisce un immagine con un QrCode. Il merge è molto usato per inserire loghi in un codice Qr. |
| 198 | + |
| 199 | + QrCode::merge($filename, $percentage, $absolute); |
| 200 | + |
| 201 | + //Genera un QrCode con una immagine al centro. |
| 202 | + QrCode::format('png')->merge('path-to-image.png')->generate(); |
| 203 | + |
| 204 | + //Genera un QrCode con una immagine al centro. L'immagine inserita occupa il 30% del codice Qr. |
| 205 | + QrCode::format('png')->merge('path-to-image.png', .3)->generate(); |
| 206 | + |
| 207 | + //Genera un QrCode con una immagine al centro. L'immagine inserita occupa il 30% del codice Qr. |
| 208 | + QrCode::format('png')->merge('http://www.google.com/someimage.png', .3, true)->generate(); |
| 209 | + |
| 210 | +>Il metodo `merge` supporta solamente il formato PNG. |
| 211 | +>Il percorso specificato è relativo alla base path se `$absolute` è impostata su `false`. Cambiare questa variabile in `true` per utilizzare percorsi assoluti. |
| 212 | +
|
| 213 | +>Dovresti usare un alto livello di error correction quando usi il metodo `merge` per assicurarti che il Qr sia ancora leggibile. Raccomandiamo di usare `errorCorrection('H')`. |
| 214 | +
|
| 215 | + |
| 216 | + |
| 217 | +#### Merge Binary String |
| 218 | + |
| 219 | +Il metodo `mergeString` può essere usato per ottenere quasi lo stesso risultato di `merge`, con la differenza che permette di inserire una rappresentazione testuale del file al posto del percorso. Questo è utile quando si lavora con la facade `Storage`. La sua interfaccia è molto simile a quella di `merge`. |
| 220 | + |
| 221 | + QrCode::mergeString(Storage::get('path/to/image.png'), $percentage); |
| 222 | + |
| 223 | + //Genera un QrCode con una immagine al centro. |
| 224 | + QrCode::format('png')->mergeString(Storage::get('path/to/image.png'))->generate(); |
| 225 | + |
| 226 | + //Genera un QrCode con una immagine al centro. L'immagine inserita occupa il 30% del codice Qr. |
| 227 | + QrCode::format('png')->mergeString(Storage::get('path/to/image.png'), .3)->generate(); |
| 228 | + |
| 229 | +>Come la chiamata a `merge`, anche questa volta è supportato solamente il formato PNG. Lo stesso vale per gli error correction, H è il valore raccomandato. |
| 230 | +
|
| 231 | +#### Utilizzo Avanzato |
| 232 | + |
| 233 | +Tutti i metodi supportano il chaining. Il metodo `generate` deve essere chiamato per ultimo e tutti gli eventuali metodi `format` devono essere chiamati per primi. Per esempio sono validi i seguenti: |
| 234 | + |
| 235 | + QrCode::size(250)->color(150,90,10)->backgroundColor(10,14,244)->generate('Make me a QrCode!'); |
| 236 | + QrCode::format('png')->size(399)->color(40,40,40)->generate('Trasformami in un QrCode!'); |
| 237 | + |
| 238 | +Puoi mostrare un'immagine PNG senza salvare il file relativo impostando una stringa e scegliendo l'encoding `base64_encode`. |
| 239 | + |
| 240 | + <img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(100)->generate('Trasformami in un QrCode!')) !!} "> |
| 241 | + |
| 242 | +<a id="docs-helpers"></a> |
| 243 | +## Helpers |
| 244 | + |
| 245 | +#### Cosa sono gli helpers? |
| 246 | + |
| 247 | +Gli Helpers sono un metodo molto semplice per creare codici Qr che permettono al lettore di eseguire una certa azione quando scansionati. |
| 248 | + |
| 249 | +#### E-Mail |
| 250 | + |
| 251 | +Questo helper genera un QrCode in grado di riempire i campi di una e-mail quali indirizzo, oggetto e corpo. |
| 252 | + |
| 253 | + QrCode::email($to, $subject, $body); |
| 254 | + |
| 255 | + //Fills in the to address |
| 256 | + QrCode::email('foo@bar.com'); |
| 257 | + |
| 258 | + //Fills in the to address, subject, and body of an e-mail. |
| 259 | + QrCode::email('foo@bar.com', 'Questo è l'oggetto.', 'Questo è il corpo del messaggio.'); |
| 260 | + |
| 261 | + //Fills in just the subject and body of an e-mail. |
| 262 | + QrCode::email(null, 'Questo è l'oggetto.', 'Questo è il corpo del messaggio.'); |
| 263 | + |
| 264 | +#### Geo |
| 265 | + |
| 266 | +Questo helper genera una latitudine e una longitudine che un telefono può leggere ed aprire con Google Maps o applicazioni simili. |
| 267 | + |
| 268 | + QrCode::geo($latitude, $longitude); |
| 269 | + |
| 270 | + QrCode::geo(37.822214, -122.481769); |
| 271 | + |
| 272 | +#### Numeri di Telefono |
| 273 | + |
| 274 | +Questo helper genera un QrCode che, una volta scansionato, digita un numero di telefono. |
| 275 | + |
| 276 | + QrCode::phoneNumber($phoneNumber); |
| 277 | + |
| 278 | + QrCode::phoneNumber('555-555-5555'); |
| 279 | + QrCode::phoneNumber('1-800-Laravel'); |
| 280 | + |
| 281 | +#### SMS (Messaggi) |
| 282 | + |
| 283 | +Questo helper crea messaggi SMS che possono essere precompilati con il destinatario e il corpo del messaggio. |
| 284 | + |
| 285 | + QrCode::SMS($phoneNumber, $message); |
| 286 | + |
| 287 | + //Creates a text message with the number filled in. |
| 288 | + QrCode::SMS('555-555-5555'); |
| 289 | + |
| 290 | + //Creates a text message with the number and message filled in. |
| 291 | + QrCode::SMS('555-555-5555', 'Corpo del messaggio.'); |
| 292 | + |
| 293 | +#### WiFi |
| 294 | + |
| 295 | +Questo helper crea codici Qr scansionabili che permettono la connessione del telefono ad una determinata rete WiFi. |
| 296 | + |
| 297 | + QrCode::wiFi([ |
| 298 | + 'encryption' => 'WPA/WEP', |
| 299 | + 'ssid' => 'SSID della rete', |
| 300 | + 'password' => 'Password della rete', |
| 301 | + 'hidden' => 'Whether the network is a hidden SSID or not.' |
| 302 | + ]); |
| 303 | + |
| 304 | + //Connects to an open WiFi network. |
| 305 | + QrCode::wiFi([ |
| 306 | + 'ssid' => 'Nome Rete', |
| 307 | + ]); |
| 308 | + |
| 309 | + //Connects to an open, hidden WiFi network. |
| 310 | + QrCode::wiFi([ |
| 311 | + 'ssid' => 'Nome Rete', |
| 312 | + 'hidden' => 'true' |
| 313 | + ]); |
| 314 | + |
| 315 | + //Connects to an secured, WiFi network. |
| 316 | + QrCode::wiFi([ |
| 317 | + 'ssid' => 'Nome Rete', |
| 318 | + 'encryption' => 'WPA', |
| 319 | + 'password' => 'miaPassword' |
| 320 | + ]); |
| 321 | + |
| 322 | +>La scansione WiFi non è al momento supportata sui dispositivi Apple. |
| 323 | +
|
| 324 | +<a id="docs-common-usage"></a> |
| 325 | +##Uso generico dei QrCode |
| 326 | + |
| 327 | +Puoi utilizzare un prefisso della tabella sottostante per generare dei codici Qr in grado di contenere maggiori informazioni: |
| 328 | + |
| 329 | + QrCode::generate('http://www.simplesoftware.io'); |
| 330 | + |
| 331 | + |
| 332 | +| Usage | Prefix | Example | |
| 333 | +| --- | --- | --- | |
| 334 | +| Website URL | http:// | http://www.simplesoftware.io | |
| 335 | +| Secured URL | https:// | https://www.simplesoftware.io | |
| 336 | +| E-mail Address | mailto: | mailto:support@simplesoftware.io | |
| 337 | +| Phone Number | tel: | tel:555-555-5555 | |
| 338 | +| Text (SMS) | sms: | sms:555-555-5555 | |
| 339 | +| Text (SMS) With Pretyped Message | sms: | sms::I am a pretyped message | |
| 340 | +| Text (SMS) With Pretyped Message and Number | sms: | sms:555-555-5555:I am a pretyped message | |
| 341 | +| Geo Address | geo: | geo:-78.400364,-85.916993 | |
| 342 | +| MeCard | mecard: | MECARD:Simple, Software;Some Address, Somewhere, 20430;TEL:555-555-5555;EMAIL:support@simplesoftware.io; | |
| 343 | +| VCard | BEGIN:VCARD | [See Examples](https://en.wikipedia.org/wiki/VCard) | |
| 344 | +| Wifi | wifi: | wifi:WEP/WPA;SSID;PSK;Hidden(True/False) | |
| 345 | + |
| 346 | +<a id="docs-outside-laravel"></a> |
| 347 | +##Uso al di fuori di Laravel |
| 348 | + |
| 349 | +Puoi usare questo package al di fuori di Laravel istanziando una nuova classe `BaconQrCodeGenerator`. |
| 350 | + |
| 351 | + use SimpleSoftwareIO\QrCode\BaconQrCodeGenerator; |
| 352 | + |
| 353 | + $qrcode = new BaconQrCodeGenerator; |
| 354 | + $qrcode->size(500)->generate('Crea un QrCode senza Laravel!'); |
0 commit comments