User Tools

Site Tools


doc:appunti:linux:sa:tcpdf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:tcpdf [2020/02/12 10:44] – [L'alternativa FPDF] niccolodoc:appunti:linux:sa:tcpdf [2021/03/04 11:39] (current) – [Installazione consigliata] niccolo
Line 1: Line 1:
 ====== TCPDF su Debian 10 Buster ====== ====== TCPDF su Debian 10 Buster ======
  
-Purtroppo il pacchetto **php-tcpdf** non è presente in **Debian 10 Buster**, per fortuna si puù installare la versione **6.3.2** da Debian Bullseye, scarcando il file da [[https://packages.debian.org/bullseye/php-tcpdf|Debian packages]].+Purtroppo il pacchetto **php-tcpdf** non è presente in **Debian 10 Buster**, esiste però come **[[https://packages.debian.org/buster-backports/all/php-tcpdf/download|backport]]** oppure si dovrebbe poter installare la versione da Debian Bullseye, scarcando il file da [[https://packages.debian.org/bullseye/php-tcpdf|Debian packages]].
  
 <code> <code>
Line 18: Line 18:
 ===== L'alternativa FPDF ===== ===== L'alternativa FPDF =====
  
-In alternativa a **php-tcpdf** esiste il pacchetto **[[https://packages.debian.org/buster/php-fpdf|php-fpdf]]** (home page [[http://www.fpdf.org/|www.fpdf.org]]). Si tratta di una libreria con minori funzionalità, ma più snella. È inclusa nelle ultime versioni di Debian, compresa l'auttuale stabile **10 Buster** che include **php-fpdf 1.8.1**, e la futura **Bullseye**.+In alternativa a **php-tcpdf** esiste il pacchetto **[[https://packages.debian.org/buster/php-fpdf|php-fpdf]]** (home page [[http://www.fpdf.org/|www.fpdf.org]]). Si tratta di una libreria con minori funzionalità, ma più snella. È inclusa nelle ultime versioni di Debian, compresa l'auttuale stabile **10 Buster** (che include **php-fpdf 1.8.1**), e la futura **Bullseye**.
  
 ===== L'estensione FPDI ===== ===== L'estensione FPDI =====
Line 24: Line 24:
 **[[https://packagist.org/packages/setasign/fpdi|FPDI]]** sta per **Free PDF Document Importer**, si tratta di una **estensione** che funziona sia con [[http://www.fpdf.org|FPDF]] che con [[https://github.com/tecnickcom/TCPDF|TCPDF]]. Consente di inlcudere un file PDF esistente ed utilizzarlo come **template** per creare altri documenti. **[[https://packagist.org/packages/setasign/fpdi|FPDI]]** sta per **Free PDF Document Importer**, si tratta di una **estensione** che funziona sia con [[http://www.fpdf.org|FPDF]] che con [[https://github.com/tecnickcom/TCPDF|TCPDF]]. Consente di inlcudere un file PDF esistente ed utilizzarlo come **template** per creare altri documenti.
  
-Al momento non esiste un pacchetto Debian della libreria. La libreria è scaricabile da **GitHub**, ad esempio la release 2.2.0 è scaricabile scegliendo il **[[https://github.com/Setasign/FPDI/tree/v2.2.0|Tag v2.2.0]]**.+Debian includeva **libfpdi-php 1.4.1** fino alla versione **8 Jessie**, nella attuale versione 10 Buster purtroppo non c'è. La libreria è comunque scaricabile da **GitHub**, ad esempio la release 2.2.0 è scaricabile scegliendo il **[[https://github.com/Setasign/FPDI/tree/v2.2.0|Tag v2.2.0]]**.
  
 Per una installazione manuale si può scompattare l'archivio **FPDI-2.2.0.zip** in **/usr/local/share/php/** oppure anche nella directory stessa del progetto PHP. Quello che serve è la directory **src** contenuta nell'archivio ZIP, che può essere rinominata ad esempio in **fpdi220**. Per includerla si aggiunge al codice PHP: Per una installazione manuale si può scompattare l'archivio **FPDI-2.2.0.zip** in **/usr/local/share/php/** oppure anche nella directory stessa del progetto PHP. Quello che serve è la directory **src** contenuta nell'archivio ZIP, che può essere rinominata ad esempio in **fpdi220**. Per includerla si aggiunge al codice PHP:
Line 39: Line 39:
 Come si vede nell'esempio viene utilizzata la keyword **use** per definire quale //variante// di FPDI si vuole utilizzare: quella basata su FPDF oppure quella basata su TCPDF (in effetti sono supportate anche altre varianti). Come si vede nell'esempio viene utilizzata la keyword **use** per definire quale //variante// di FPDI si vuole utilizzare: quella basata su FPDF oppure quella basata su TCPDF (in effetti sono supportate anche altre varianti).
  
-**ATTENZIONE**: La versione **FPDI 2.2.0** richiede **FPDF 1.8.2**. Con versioni più vecchie (ad esempio FPDF 1.7) si incappa nell'errore:+**ATTENZIONE**: La versione **FPDI 2.2.0** richiede **FPDF 1.8**. Con versioni più vecchie (ad esempio FPDF 1.7) si incappa nell'errore:
  
 <code> <code>
Line 50: Line 50:
 Ad oggi (febbraio 2020) questo è lo stack di librerie consigiate: Ad oggi (febbraio 2020) questo è lo stack di librerie consigiate:
  
-  * **TCPDF** dal pacchetto Debian **php-tcpdf** (versione **6.2.12** in Debian 9, versione **6.3.2** in Debian 11 che si installa anche in Debian 10).+  * **TCPDF** dal pacchetto Debian **php-tcpdf** (versione **6.2.12** in Debian 9, versione **6.3.5** dai backport per Debian 10).
   * **FPDI** installata localmente da archivio **FPDI-2.2.0.tgz**.   * **FPDI** installata localmente da archivio **FPDI-2.2.0.tgz**.
  
Line 57: Line 57:
 <code php> <code php>
 require_once('/usr/share/php/tcpdf/tcpdf.php'); require_once('/usr/share/php/tcpdf/tcpdf.php');
 +use setasign\Fpdi\Tcpdf\Fpdi;
 require_once('./vendor/fpdi/autoload.php'); require_once('./vendor/fpdi/autoload.php');
 </code> </code>
doc/appunti/linux/sa/tcpdf.1581500645.txt.gz · Last modified: 2020/02/12 10:44 by niccolo