2015-05-22 9 views
5

Ho bisogno di stampare molti codici a barre 1D e 2D e inserirli in un documento formattato in html. Guardando in giro ho scoperto che questo è possibile usando i metodi TCPDF, anzi l'esempio No.49 fornisce la soluzione.Come posizionare i codici a barre TCPDF all'interno di una tabella html utilizzando l'esempio 49 e serializeTCPDFtagParameters invece di write1DBarcode?

$params = $pdf->serializeTCPDFtagParameters(array('CODE 128', 'C128', '', '', 80, 30, 0.4, array('position'=>'S', 'border'=>true, 'padding'=>4, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>true, 'font'=>'helvetica', 'fontsize'=>8, 'stretchtext'=>4), 'N')); 
$html .= '<tcpdf method="write1DBarcode" params="'.$params.'" />'; 

Tuttavia, quando si implementa sul proprio script PHP, non viene eseguito il rendering del codice a barre. Ho creato un file test.php in cui ho appena tagliato e incollato l'intero codice PHP di 49 esempi, e di nuovo solo il contenuto $ html, ma non quello definito con $ params.
Ma ancora una volta, ho messo questo

$pdf->write1DBarcode(...) 

e funziona perfettamente, rende il codice a barre come previsto, ma come si può sapere, questo non è il modo di inserire i codici a barre all'interno di molte tabelle html.

Qualche idea?, Sto lavorando su PHP 5.6 su un server Debian 7, ultima versione di TCPDF. Inoltre non è stato possibile importare lo tcpdf_include.php, perché è contenuto nella cartella degli esempi, ma abbiamo utilizzato lo tcpdf.php e tutto funziona correttamente.

Ancora, e chiarire, posso generare sia 1D e 2D utilizzando la write2DBarcode() metodo, ma non può generare codici a barre in base alle generateserializeTCPDFtagParameters() metodo è quello consigliato per posizionare i codici a barre all'interno html indicato nell'esempio 49.

Su richiesta di @taxicali, questo è un output di esempio, funziona per una società pacchi locale che necessita di codici a barre precisi per poter essere rapidamente letti dagli scanner.

+0

Come ho detto ho appena copiato l'esempio 49 e creato un file di prova, solo per testare l'uscita, nessuno del mio codice è coinvolto , solo l'esempio non esegue il rendering nel mio server, tuttavia se aggiungo i codici a barre usign il metodo write1DBarcode, restituisce il codice a barre come previsto, ma durante il rendering utilizzando serializeTCPDFtagParameters() non viene generato alcun codice a barre. – datelligence

risposta

0

Senza il tuo codice completo, potrebbe essere piuttosto difficile affrontare questo problema, ho lavorato con PDF e codici a barre qualche tempo fa e ho avuto un sacco di problemi, molti mal di testa fino a quando non l'ho fatto funzionare. Un pensiero che devo chiedere, il tuo TCPDF viene fornito con un file di font? Penso che forse non stai includendo il file font in modo da non essere in grado di rendere il codice a barre come dovrebbe essere reso, un'altra cosa buona sarebbe che ci mostra l'output che stai ricevendo dopo il rendering.

+0

Sono felice di sapere che ti è utile. Sì, infatti, la libreria TCPDF contiene una cartella di caratteri ha una cartella di caratteri con almeno 100 caratteri e la usa come dipendenza, quindi deve essere posta sul server preservandola; s percorso URL., Che come voi – datelligence

3

Sample of a barcodes sheet generated by TCPDF

Ho appena risolto questo che tra l'altro può essere un problema comune: Io ho semplicemente copiato il file tcpdf_config.php che si trova qui:

/tcpdf/ 
     examples/ 
       config/ 

e incollato qui:

/tcpdf/ 
     config/ 

Niente di più, era solo un problema di dipendenze.

+1

Il file di configurazione trovato nella cartella degli esempi è in realtà chiamato 'tcpdf_config_alt.php'. Devi rinominarlo in 'tcpdf_config.php' e sovrascrivere il file' tcpdf_config.php' che si trova nella cartella '/ tcpdf/config /'. –

2

Per utilizzare il tag html tcpdf è necessario impostare la costante 'K_TCPDF_CALLS_IN_HTML' su 'TRUE' nel file tcpdf_config.file php, come l'esempio dice in alto in rosso

https://tcpdf.org/examples/example_049/

/** 
* If true allows to call TCPDF methods using HTML syntax 
* IMPORTANT: For security reason, disable this feature if you are printing user HTML content. 
*/ 
define('K_TCPDF_CALLS_IN_HTML', true); 
+0

questo funziona !!!! – wahmal

Problemi correlati