Per chi ha apprezzato i recenti post riguardanti Codeigniter, accoglierà (spero) con felicità questa guida in pdf che ho scritto (in italiano) sul mio framework php preferito. L'ho intitolata "Codeigniter: a modo mio" perché è così che io faccio le cose: a modo mio :-)
La potete trovare a questo indirizzo:
http://www.stefanobianchini.net/codeigniter-a-modo-mio/guida-codeigniter-a-modo-mio-1.0.pdf
E' la prima versione e sicuramente ho tralasciato tante cose che con il tempo vedrò di integrare. Ed è certo che avrò fatto qualche errorino, quindi siate clementi!
Visualizzazione post con etichetta pdf. Mostra tutti i post
Visualizzazione post con etichetta pdf. Mostra tutti i post
mercoledì 28 novembre 2012
giovedì 9 agosto 2007
Creare file PDF con Php
Visto che avevo parlato dei file zip creati con php, perchè non parlare anche dei file PDF? Sempre più questo formato prende piede ogni giorno...e potremmo avere la necessità di creare on-the-fly dei file PDF con i contenuti più vari. Le soluzioni native del Php sono praticamente tutte a pagamento oppure negate per un uso commerciale.
Ecco che viene in aiuto il mondo open-source con due progetti!
Il primo, chiamato FPDF (http://www.fpdf.org) è una classe che permette tramite semplici comandi di creare un PDF. Nel sito si trovano tutti gli esempi e i tutorial (ce ne sono veramente tanti). Come noterete in questa classe tutto è "cella", cioè per l'inserimento delle tabelle ad esempio tutto deve essere scritto con cura maniacale (questa cella con questo contenuto qui, quest'altra qua di queste dimensioni...).
Perchè non usare un linguaggio conosciuto e semplice come l'HTML?? La risposta ce la dà il secondo progetto, che si basa su FPDF ma si chiama HTML2(F)PDF (http://html2fpdf.sourceforge.net/) che permette in poche istruzioni di creare un file PDF...scrivendo in html!!
Bene. Ora i test: andate sul sito di html2fpdf e scaricate lo zippone che contiene tutto (dentro c'è anche fpdf). Importantissimo dentro c'è una cartella fonts, NON eliminatela!
Ho creato un semplice file per provare le funzionalità dello script:
<?
require_once("html2fpdf.php");
$html=file_get_contents("filehtml.html");
$pdf=new HTML2FPDF();
$pdf -> AddPage();
$pdf -> WriteHTML($html);
$pdf -> Output ('prova.pdf','I');
?>
In filehtml.html ho scritto il codice da trasformare, ho provato poche cose (ma nel sito c'è la lista completa dei tags supportati): ho provato un center, un b (grassetto), e una immagine. Notate che avrei potuto scrivere il codice HTML direttamente dentro la variabile $html (e quindi non necessariamente leggerlo da un file).
BUG: incredibile a dirsi, ma su linux non supporta i file GIF! Almeno credo su linux, forse anche su windows (sulla mia ubuntu non va, e secondo google tanti hanno questo problema), fate un po' di prove...in sostanza se non trova le immagini contenute nel codice html, carica una immagine no_img.gif, e subito dopo dà errore irreversibile di lettura sulla gif...niente da fare, sostituendo con un'altra gif o cambiando i permessi è sempre uguale...appena ho inserito però una PNG....magia, tutto funziona! Non arrabbiatevi, visto che è gratis: un motivo in più per passare al formato PNG ;-)
Buon php a tutti!
giovedì 2 agosto 2007
Installare una stampante PDF in Ubuntu
Ecco a voi un altro tips che mi è stato molto utile. Oramai il bisogno di creare file PDF è largamente presente, e programmi come OpenOffice lo supportano in toto. Ma se voglio creare un PDF da un'altra applicazione? Non sarebbe bella una stampante virtuale come in Windows, che mi permetta di stampare file in formato PDF?
Chiaramente la comunità libera prontamente ha apportato questa caratteristica...ed è anche semplice installarla.
Prima di tutto, digitate da terminale:
Questo installerà il supporto PDF per il sistema cups (io l'avevo già installato quest'ultimo).
Ora andate sotto Sistema -> Amministrazione -> Stampa e selezionate "Nuova Stampante" come da figura:
Bene, nella schermata che segue lasciate Tipo: Locale o stampante rilevata e Usa Stampante individuata (scegliete PDF Printer, se avete anche una stampante vera vi verrà visualizzata anche quella).

Ora cliccate avanti. Scegliete Produttore: Generic e Modello: Postscript (il driver è uno solo).

Cliccate avanti e finalmente nella schermata che segue potete inserire il nome della stampante (Ad esempio StampantePDF, senza spazi) e una breve descrizione della stampante. Cliccando su Fine...si ottiene l'effetto sperato!

Fate una prova di stampa: viene stampato il tutto e...ma dove lo salva???Beh a tutto c'è rimedio...viene creata una cartella PDF sotto la home directory del vostro utente, e lì dentro salverà tutti i file PDF che crea...buon PDF a tutti!
Chiaramente la comunità libera prontamente ha apportato questa caratteristica...ed è anche semplice installarla.
Prima di tutto, digitate da terminale:
sudo apt-get install cups-pdfQuesto installerà il supporto PDF per il sistema cups (io l'avevo già installato quest'ultimo).
Ora andate sotto Sistema -> Amministrazione -> Stampa e selezionate "Nuova Stampante" come da figura:
Bene, nella schermata che segue lasciate Tipo: Locale o stampante rilevata e Usa Stampante individuata (scegliete PDF Printer, se avete anche una stampante vera vi verrà visualizzata anche quella).
Ora cliccate avanti. Scegliete Produttore: Generic e Modello: Postscript (il driver è uno solo).

Cliccate avanti e finalmente nella schermata che segue potete inserire il nome della stampante (Ad esempio StampantePDF, senza spazi) e una breve descrizione della stampante. Cliccando su Fine...si ottiene l'effetto sperato!

Fate una prova di stampa: viene stampato il tutto e...ma dove lo salva???Beh a tutto c'è rimedio...viene creata una cartella PDF sotto la home directory del vostro utente, e lì dentro salverà tutti i file PDF che crea...buon PDF a tutti!
Iscriviti a:
Post (Atom)