[PHP] come stampare un Qr-code in FPDF

maxbar

Nuovo Utente
5 Giu 2017
5
0
1
44
Buongiorno a tutti, sono nuovo di questa chat anche se la visito spesso per confrontarmi con i preziosi consigli che giornalmente pubblicate.

In ogni caso ho un quesito da porvi e che magari sapete risolvere:
Dovrei stampare con FPDF un'image, e fin qua sembra facile, ma il punto è che devo stampare un qr-code che lo estraggo a video tramite il tag <img>.

ES: <img src='qr-code/php/qr_img.php?d=testo del qr-code' width='150' height='150'>

Qualcuno di voi saprebbe come potrei salvare l'immagine per poi mandarla in stampa su FPDF?
Oppure magari avete un modo per l'output dell'immagine del qr-code che mi permette anche di inserirla in "image()" di FPDF?

Grazie mille a tutti
 

maxbar

Nuovo Utente
5 Giu 2017
5
0
1
44
Grazie mille Marino51, ho guardato ma non è specificato come fare il collegamento. Ho fatto un paio di tentativi ma sembra che
vadano in conflitto l'uno con l'altro.

Magari ci sarà una strada più diretta
 

marino51

Utente Attivo
28 Feb 2013
3.017
174
63
Lombardia
nel file leggimi (_lisez_moi.txt) trovo,
PHP:
 - il existe également une methode de sortie spécifique pour FPDF :
    $qrcode->displayFPDF($fpdf, $x, $y, $w, $background, $color);

prova a postare un esempio che rispecchi ciò che hai sviluppato

il link che ti ho postato è presente nella pagina degli esempi del sito FPDF ......
 
Ultima modifica:

maxbar

Nuovo Utente
5 Giu 2017
5
0
1
44
ok vedendolo così penso:
Codice:
php:
$qrcode->displayFPDF($fpdf

Quindi apro la classe FPDF e la chiamo:

Codice:
php:
include("fpdf.php");
$fpdf = new FPDF();

per la rimanenza:
Codice:
php:
, $x, $y, $w, $background, $color);

dammi le coordinate $x, $y, $w ( grandezza immagine )

per il $background, e il $color, se controllo la funzione che loro inseriscono le vedo dichiarate,
ma comunque mi chiede di dichiararle:

Codice:
php:
public function displayFPDF(&$fpdf, $x, $y, $w, $background=array(255,255,255), $color=array(0,0,0))
        {
            $size = $w;
            $s = $size/$this->getQrSize();

            $fpdf->SetDrawColor($color[0], $color[1], $color[2]);
            $fpdf->SetFillColor($background[0], $background[1], $background[2]);
            
            // rectangle de fond
            if ($this->disable_border)
            {
                $s_min = 4;
                $s_max = $this->qr_size-4;
                $fpdf->Rect($x, $y, $size, $size, 'F');
            }
            else
            {
                $s_min = 0;
                $s_max = $this->qr_size;
                $fpdf->Rect($x, $y, $size, $size, 'FD');
            }
            
            $fpdf->SetFillColor($color[0], $color[1], $color[2]);
            for($j=$s_min; $j<$s_max; $j++)
                for($i=$s_min; $i<$s_max; $i++)
                    if ($this->final[$i + $j*$this->qr_size+1])
                        $fpdf->Rect($x+($i-$s_min)*$s, $y+($j-$s_min)*$s, $s, $s, 'F');
            
            return true;
        }

In ogni caso inserisco i dati come spiegati da loro in questo modo:

Codice:
php:
<?php
require_once('qrcode.class.php');
include("fpdf.php");
$fpdf = new FPDF();
$x = 100;
$y = 200;
$s = 50;
$background = array(250,250,250);
$color = array(0,0,0);
$fpdf->AddPage();
$fpdf->SetFont('Times','',12);

//dovrei inserire anche una cella per la stampa:

$pdf->Cell(40,10,'ma qua cosa ci metto?',1,1);

$qrcode = new QRcode(utf8_encode($msg), $err);
$qrcode->displayFPDF($fpdf, $x, $y, $s, $background, $color);

$fpdf->Output();

?>

L'errore è il seguente:

Fatal error: Uncaught exception 'Exception' with message 'FPDF error: Some data has already been output, can't send PDF file' in C:\xampp\htdocs\php\qrcode\fpdf.php:271 Stack trace: #0 C:\xampp\htdocs\php\qrcode\fpdf.php(1063): FPDF->Error('Some data has a...') #1 C:\xampp\htdocs\php\qrcode\fpdf.php(999): FPDF->_checkoutput() #2 C:\xampp\htdocs\php\qrcode\index.php(74): FPDF->Output() #3 {main} thrown in C:\xampp\htdocs\php\qrcode\fpdf.php on line 271

E' chiaro che sto capendo male io, ma
secondo voi come dovrei fare?

Grazie
 

marino51

Utente Attivo
28 Feb 2013
3.017
174
63
Lombardia
sicuramente hai uno script che genera il pdf,
nello script, in un punto che non crea fastidio, per generare il QRcode, inserisci
PHP:
$msg = "Le site du spipu\r\nhttp://spipu.net/";
$err = 'L';
require_once('qrcode.class.php');
$qrcode = new QRcode(utf8_encode($msg), $err);
$qrcode->disableBorder();
poi dove serve il QRcode inserisci
PHP:
$qrcode->displayFPDF($pdf, 120, 60, 20);
e vedi l'effetto che fa
per me è un bijoux
ora aggiusta i parametri
 

maxbar

Nuovo Utente
5 Giu 2017
5
0
1
44
Ho provato ma non mi dice che non posso usare una classe che è inserita in FPDF...
anche perchè poi nella variabile $pdf cosa inserisco?

Poi ho dato un 'altra occhiata ed ho provato così:
PHP:
include("fpdf.php");
$pdf = new FPDF();
$msg = "Le site du spipu\r\nhttp://spipu.net/";
$err = 'L';
require_once('qrcode.class.php');
$qrcode = new QRcode(utf8_encode($msg), $err);
$qrcode->disableBorder();

$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
//$pdf->Cell(40,10,$qrcode->displayFPDF($pdf, 120, 60, 20),1,1);
$qrcode->displayFPDF($pdf, 120, 60, 20);
//$pdf->Output();

In questo modo non mi da errori, ma non mi da nemmeno in stampa il QR-code inserito nel PDF.
Se attivo l'output mi da questo errore:

Fatal error: Uncaught exception 'Exception' with message 'FPDF error: Some data has already been output, can't send PDF file' in C:\xampp\htdocs\php\qrcode\fpdf.php:271 Stack trace: #0 C:\xampp\htdocs\php\qrcode\fpdf.php(1063): FPDF->Error('Some data has a...') #1 C:\xampp\htdocs\php\qrcode\fpdf.php(999): FPDF->_checkoutput() #2 C:\xampp\htdocs\php\qrcode\index.php(38): FPDF->Output() #3 {main} thrown in C:\xampp\htdocs\php\qrcode\fpdf.php on line 271


Non ho proprio idee...

 

marino51

Utente Attivo
28 Feb 2013
3.017
174
63
Lombardia
PHP:
<?php

$msg = "Le site du spipu\r\nhttp://spipu.net/";
$err = 'L';


require_once('qrcode.class.php');

$qrcode = new QRcode(utf8_encode($msg), $err);
$qrcode->disableBorder();


require_once 'FPDF\fpdf.php';

$pdf = new FPDF('P', 'mm', 'A4');
$pdf->SetMargins(1,1,1);          // margini : sinistra, alto, destra
$pdf->SetAutoPageBreak(true, 1);  // margine basso
$pdf->SetFont('Helvetica','B',16);
$pdf->AddPage();

$qrcode->displayFPDF($pdf, 120, 60, 20);

$pdf->Output();
?>
 

Allegati

  • qrcode.pdf
    7,6 KB · Visite: 286

maxbar

Nuovo Utente
5 Giu 2017
5
0
1
44
Eccezzionale!!!

Grazie mille Marino51

Comunque quello che dava conflitto era una riga HTML che avevo lasciato all'inizio della pagina.

In ogni caso grazie mille, sei un grande!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
P [PHP] Stampare record di diverse tabelle ma con nomi uguali PHP 6
K [PHP] Stampare tabella da database differenti. PHP 4
M Stampare con php e mysql PHP 8
L [PHP] stampare un'array di un database PHP 0
T PHP+MYSQL: stampare record con numero progressivo PHP 3
cristoforo58 Stampare dei valori XML in PHP PHP 0
elpirata [PHP] Stampare i valori di una variabile scritta su più righe PHP 1
K [PHP] Cancellare e Stampare tabella PHP 3
N [PHP] stampare pagina html PHP 0
F [PHP] Stampare dati inviati tramite ajax PHP 0
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
webmachine [PHP] Problema: Stampare tutte le occorrenza di una SELECT PHP 2
L Stampare immagine php PHP 2
F stampare array php PHP 3
P Stampare '<?' in php PHP 7
G Stampare valori in più div con PHP e MySQL PHP 4
L PHP/MySQL: stampare da una tabella attributi raggruppati per genitore PHP 1
F stampare una select con php PHP 7
S Stampare il risultato di una query inner jon in php.... PHP 4
M Stampare contenuto pagine php criptate PHP 4
L Non riesco a stampare BitMap con PHP PHP 1
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0

Discussioni simili