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 [2021/03/04 11:39] – [Installazione consigliata] niccolodoc:appunti:linux:sa:tcpdf [2025/09/17 11:48] (current) – [L'alternativa FPDF] niccolo
Line 19: Line 19:
  
 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**.
 +
 +<code php>
 +// php-fpdf 1.8 installed by package "php-fpdf" in Debian 10, 11 and 12 .
 +require_once('/usr/share/php/fpdf.php');
 +</code>
  
 ===== L'estensione FPDI ===== ===== L'estensione FPDI =====
Line 26: Line 31:
 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]]**. 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 **fpdi-2.2.0** creando un link simbolico **fpdi**. Per includerla si aggiunge al codice PHP:
  
 <code php> <code php>
Line 34: Line 39:
 // use setasign\Fpdi\Tcpdf\Fpdi; // use setasign\Fpdi\Tcpdf\Fpdi;
 // Include the FPDI extension, to import pages from existing PDF documents. // Include the FPDI extension, to import pages from existing PDF documents.
-require_once('/usr/local/share/php/fpdi220/autoload.php');+require_once('/usr/local/share/php/fpdi/autoload.php');
 </code> </code>
  
Line 48: Line 53:
 ===== Installazione consigliata ===== ===== Installazione consigliata =====
  
-Ad oggi (febbraio 2020) questo è lo stack di librerie consigiate:+Ad oggi (giugno 2024) questo è lo stack di librerie consigiate:
  
-  * **TCPDF** dal pacchetto Debian **php-tcpdf** (versione **6.2.12** in Debian 9, versione **6.3.5** dai backport per Debian 10). +  * **TCPDF** dal pacchetto Debian **php-tcpdf** (versione **6.6.2** in Debian 12). 
-  * **FPDI** installata localmente da archivio **FPDI-2.2.0.tgz**.+  * **FPDI** installata localmente da archivio **FPDI-2.6.0.tgz** (scompattare la directory **src/** e rinominarla in **/usr/local/share/php/fpdi/**).
  
-Nel codice PHP si includono con qualcosa del tipo:+Nel codice PHP si includono le librerie con le seguenti direttive:
  
 <code php> <code php>
-require_once('/usr/share/php/tcpdf/tcpdf.php');+set_include_path(".:/usr/local/share/php:/usr/share/php"); 
 +require_once('tcpdf/tcpdf.php');
 use setasign\Fpdi\Tcpdf\Fpdi; use setasign\Fpdi\Tcpdf\Fpdi;
-require_once('./vendor/fpdi/autoload.php');+require_once('fpdi/autoload.php');
 </code> </code>
 +
 +Per creare una pagina PDF con Fpdi:
 +
 +<code php>
 +// TCPDI extends the TCPDF class:
 +$pdf = new Fpdi($orientation='P', $unit='pt', $format='A4', $unicode=TRUE, $encoding='UTF-8', $diskcache=FALSE);
 +// Add a page
 +$pdf->AddPage();
 +// Include a PNG picture.
 +$pdf->Image('image.png', 80.0, 110.0, 60.0);
 +// Include page 7 from an existing PDF document.
 +$pdf->setSourceFile('document.pdf');
 +$imported_page = $pdf->importPage(7, '/MediaBox');
 +// Arguments: ($page, $x, $y, $size):
 +$pdf->useTemplate($imported_page, 80, 510, 140);
 +//Close and output PDF document
 +$pdf->Output('save_as.pdf', 'I');
 +</code>
 +
doc/appunti/linux/sa/tcpdf.1614854396.txt.gz · Last modified: by niccolo