Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    buste paghe con php: come generare lo "scheletro"?

    in un gestionale dovrò generare delle buste paghe. Dato per scontato che dovrò avere tutti i dati salvati nel db, la domanda che pongo è questa:

    se io ho uno scheletro di busta paga, tipo questo

    http://blekm.altervista.org/busta-paga-vuota.pdf

    posso caricare questo pdf con php e riempire gli spazi con dati che voglio io? Oppure devo generarmi questo scheletro con html & css e poi generare il pdf con una classe tipo questa?

    http://html2pdf.fr/it/default

    grazie in anticipo per l'aiuto
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    io in genere uso FPDF

    faccio una png dello scheletro,che metto carico con

    $pdf->Image();

    e poi inserisco i dati sullo scheletro.

    Comunque ci sono altre librerie oltre a questa, ma eviterei di fare tutto in HTML per poi trasformarlo in PDF, mi sembra più logico farlo direttamente in pdf.


  3. #3
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    tu carichi lo scheletro in png invece che in pdf (quindi hai un png di base). Come fare per poi buttare i dati nei giusti spazi "sopra" in png?

    e poi generare il pdf con una classe, presumo.. a partire dal png riempito, giusto?
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da blekm
    tu carichi lo scheletro in png invece che in pdf (quindi hai un png di base). Come fare per poi buttare i dati nei giusti spazi "sopra" in png?

    e poi generare il pdf con una classe, presumo.. a partire dal png riempito, giusto?
    No scusa forse mi sono spiegato male, io non genero un png, ma genero un PDF dentro al quale importo come prima cosa il file scheletro.png e a seguire tutti gli altri dati, in questo modo ottengo in pratica un PDF con un immagine di sfondo e i vari dati sopra.

    Il tutto lo faccio tramite le funzioni della classe FPDF che ti citavo prima.

    P.S. Ovviamente lo scheletro potrebbe essere .png .jpg .gif .... io preferisco png per una questione di rapporto qualità/peso.

  5. #5
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    ah, ok. Ho capito come intendi.

    Farò una prova, ripasso di qua se trovo qualche difficoltà

    EDIT: tu generi un pdf vuoto e importi un immagine. Ma non posso aprire il pdf già esistente con lo scheletro?
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da blekm
    EDIT: tu generi un pdf vuoto e importi un immagine. Ma non posso aprire il pdf già esistente con lo scheletro?
    Si ma rallenteresti l'perazione se apri un file sull'hard disk stai lavorando appunto sull'hard disk e sei molto più lento rispetto a generarlo 'al volo' che lavora solo sulla ram; oltre al fatto che dovresti avere un file per ogni utente, perchè altrimenti se lavorano nello stesso momento le modifiche di uno influenzano l'altro.

    Se può esserti utile ti faccio un piccolo esempio di come funziona FPDF

    Codice PHP:
    include('fpdf/fpdf.php');

    $pdf=new FPDF();
    $pdf->AddPage("P","A4");

    $pdf->Image('scheletro.png',0,0,210);

    $pdf->SetFont('Arial','B',8);
    $pdf->SetTextColor(0,0,0);

    $pdf->Text(110,20,"Scritta di colore nero in bold Arial 8");

    $pdf->SetFont('Times','B',10);
    $pdf->SetTextColor(255,0,0);
    $pdf->Text(110,20,"Scritta in colore rosso Times New Roman");

    $pdf->Output(); 
    comunque a dirla tutta non è di sicuro la migliore classe che c'è in circolazione, ha qualche limitazione, io però la uso perchè è molto semplice, sia da usare che da implementare, e per piccole cose (come fare una fattura o una busta paga) va benissimo.


  7. #7
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da las
    comunque a dirla tutta non è di sicuro la migliore classe che c'è in circolazione, ha qualche limitazione, io però la uso perchè è molto semplice, sia da usare che da implementare, e per piccole cose (come fare una fattura o una busta paga) va benissimo.
    quindi è la classe adatta per generare una cosa come nel link del mio primo post?

    Vedrò di studiare a modo la classe per capire come posizionare i vari numeri nelle varie caselle..
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  8. #8
    Utente di HTML.it L'avatar di P75
    Registrato dal
    Jul 2001
    Messaggi
    41
    io uso wkhtmltopdf:
    http://code.google.com/p/wkhtmltopdf/

    Mandi tutto in html e lui genera il pdf.

  9. #9
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da P75
    io uso wkhtmltopdf:
    http://code.google.com/p/wkhtmltopdf/

    Mandi tutto in html e lui genera il pdf.
    ho già preso l'altra via, non devo ricostruire lo scheletro. Grazie comunque!

    @las
    ho provato il tuo codice col mio scheletro, ganzo, rapido e intuitivo. Solo una domanda: esiste una maniera veloce per vedere quando aggiungo una scritta dove viene posizionata senza generare il pdf?

    Perchè dovrò inserire numeri praticamente in ogni casella, e ogni volte genere/aprire un pdf per vedere un minimo cambiamento.. diventa una cosa lunghissima!
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  10. #10
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da blekm
    @las
    ho provato il tuo codice col mio scheletro, ganzo, rapido e intuitivo. Solo una domanda: esiste una maniera veloce per vedere quando aggiungo una scritta dove viene posizionata senza generare il pdf?

    Perchè dovrò inserire numeri praticamente in ogni casella, e ogni volte genere/aprire un pdf per vedere un minimo cambiamento.. diventa una cosa lunghissima!
    Che io sappia no, io in genere lavoro con 2 monitor, in uno metto il codice nell'altro il pdf e quando salvo la pagina con il codice aggiorno semplicemente il pdf e ho finito .... però devi avere 2 monitor

    .... comunque potrsti anche prima con un righello misurarti la tua struttura per sapere esattamente dove mettere le cose, i primi due parametri che passi a text sono la distanza dal bordo superiore sinistri in mm il primo parametro è la coordinata X e il secondo è la coordinata y.

    Quindi ad esempio

    Codice PHP:
    $pdf->Text(110,20,"Scritta in colore rosso Times New Roman"); 
    verrà stampato a 11 cm dal bordo sinistro e a 2 cm dal bordo superiore, questo è il punto preciso dove inizierà la scritta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.