creare pdf

amhal

Utente Attivo
17 Feb 2011
89
1
8
ciao a tutti, vorrei dare la possibilità all'utente di creare un pdf, ho scaricato la libreria fpdf.php e le righe di codice che creano il pdf stesso. Funziona tutto, ma vorrei sapere come
fare per dirgli cosa deve inserire nell'output. Es: se lanciate queste righe di codice con la libreria, nel pdf appare 'ciao', come faccio a sostituire il ciao con una pagina con delle righe
che vanno a capo? Grazie

Codice:
define('FPDF_FONTPATH','font/');
require('fpdf.php');

$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','',12);
$pdf->Cell(20,10,'ciao');
$pdf->Output();


?>
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
ti mando un mio script perfettamente funzionante e se trovo il modo ti allego anche il pdf ... Cattura.PNG

se sostituisci NextStream(99) con il nome di uno script non ti serve scr.php
mentre DB.php contiene la gestione del database ed è chiamato da
$data_counter = exec_DB('select', $sql);
in cascata io chiamo uno script (99) che consente all'utente di visualizzare il pdf e poi continuare nel lavoro
ciao

PHP:
<?php

# http://localhost/test_site/php/Optidea/Optidea_CAR_report_car.php

error_reporting(E_ALL);
$swN = "RCAR";

require("FPDF/fpdf.php");
require("Optidea__Class_PDF.php");
require('Optidea__Config_Scr.php');
require('Optidea__Config_DB.php');

if ($OPlog) error_log(" ", 0);
if ($OPlog) error_log("$swN main : ". basename ($_SERVER['PHP_SELF'],".php"). ".php", 0);

$h = true;

$w = array(34,10,73,20,20,20,20,5,5,5,5,5,5,5,5,5,5,30);

$title = 'Optidea - Lista delle caratteristiche';

$header[] = 'caratteristica';
$header[] = 'ID';
$header[] = 'descrizione';
$header[] = 'UM';
$header[] = 'secco';
$header[] = 'cartellino';
$header[] = 'stampa';
$header[] = '1';
$header[] = '2';
$header[] = '3';
$header[] = '4';
$header[] = '5';
$header[] = '6';
$header[] = '7';
$header[] = '8';
$header[] = '9';
$header[] = '10';
$header[] = 'aggiorn.';

$fill = false;

$PageBreak = true;

$data = array();

$sql  = "SELECT ca_cod,ca_nr,ca_descr,ca_um,ca_secco,ca_cartel,ca_sort,";
$sql .= "ca_tipo1,ca_tipo2,ca_tipo3,ca_tipo4,ca_tipo5,ca_tipo6,ca_tipo7,ca_tipo8,ca_tipo9,ca_tipo10,";
$sql .= "convert(varchar, ca_aggior, 103) as ca_aggior_c ";
$sql .= "FROM caratteristiche WHERE ca_nr>0 ORDER BY ca_sort,ca_cod";

$data_counter = exec_DB('select', $sql);

$pdf = new PDF('L', 'mm', 'A4');

$pdf->SetAuthor("Optidea project");
$pdf->SetCreator("mrgas");
$pdf->SetSubject("caratteristiche");
$pdf->SetTitle($title);

$pdf->SetMargins(10,10,10);

$pdf->SetDrawColor(0,153,255);
$pdf->SetLineWidth(.4);
$pdf->AliasNbPages();

$pdf->AddPage();
$pdf->BodyTable();

$_SESSION['OPreportname'] = date('Ymd_His') . "_caratteristiche.pdf";
$OPpdffile = $_SESSION['OPreportfolder'] . "\\" . $_SESSION['OPreportname'];

$pdf->Output("$OPpdffile", 'F');

unset($pdf);
unset($h);
unset($w);
unset($title);
unset($header);
unset($fill);
unset($PageBreak);
unset($data);
unset($data_counter);
unset($OPpdffile);

header(NextStream(99));
?>


PHP:
<?php

class PDF extends FPDF {

  function Header() {
    global $h,$w,$title,$header,$fill;

    // TITLE
    $this->SetTextColor(0);
    $this->SetFont('Helvetica','B',16);
    $this->Cell(120,10,$title,0,1,'L');

    // HEADER
    //Colors, line width and bold font
    $this->SetFillColor(0,153,255);
    $this->SetTextColor(255);
    $this->SetFont('Helvetica','B',10);

    for($i=0;$i<count($header);$i++)
      $this->Cell($w[$i],7,$header[$i],1,0,'C',1);
    $this->Ln();

    $h = true;
  }

  function BodyTable() {
    global $swN,$h,$w,$title,$header,$fill,$data;

    //now spool out the data from the $data array
    $preced = "";
    foreach($data as $row) {

      $this->Cell(0,6,' ',0,0,'L');   // Check Page Break by empty cell
      $this->Ln(0);

      if ($h) {
        $fill = false;
        $this->SetFillColor(178,178,178);
        $this->SetTextColor(0);
        $this->SetFont('');
      }
      for($i=0;$i<count($header);$i++) {
        $valore = $row[$i];

        switch ($swN) {
          case "RCOMP":
            if ($i == 4 or $i == 6) $valore = ($valore == 0 ?  " " : number_format($valore, 4, ',', '.'));
            if ($i == 8)            $valore = ($valore == 0 ?  " " : number_format($valore, 2, ',', '.'));
            break;
          case "RCOST":
            if ($i > 3 and $i < 10) $valore = ($valore == 0 ?  " " : number_format($valore, 2, ',', '.'));
            break;
          case "RCxF":
            if ($preced == $row[0] and $i < 3 and !$h) $valore = " ";
            if ($i > 6)             $valore = ($valore == 0 ?  " " : number_format($valore, 2, ',', '.'));
            break;
        }

        $this->Cell($w[$i],6,$valore,'LR',0,'C',$fill);
      }
      $this->Ln();

      // flips from true to false and vise versa
      $fill =! $fill;

      $preced = $row[0];
      $h = false;
    }
  }

  function Footer() {
    global $w;

    $this->Cell(array_sum($w),0,'','T');

    $this->SetY(-15);
    $this->SetFont('Helvetica','I',8);
    $this->Cell(0,10,'Optimal Solution System',0,0,'L');
    $this->Ln(0);
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    $this->Ln(0);
    $this->Cell(0,10,date('l, F jS, Y - H:i:s'),0,0,'R');
  }
}

?>
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
scusa ti mando anche la gestione del DB perchè un' array e passata come global
io uso ms sql ma puoi convertire adeguatamente in mysql se ti interessa

PHP:
<?php

$OPlog = 1;

function exec_DB($CmdType, $sql) {
  global $swN,$OPlog,$data,$data_val;

  $OPdbHOST = 'DB_server_name';
  $OPdbUSER = 'DB_user_name';
  $OPdbPASS = 'DB_user_password';
  $OPdbNAME = 'DB_name';

  if ($OPlog) error_log("$swN $CmdType : $sql", 0);

  try { $db = new PDO("sqlsrv:Server=$OPdbHOST;Database=$OPdbNAME", "$OPdbUSER", "$OPdbPASS"); }
  catch (PDOException $e) { die( print_r( 'Connection failed : ' . $e->getMessage(), true)); }

  if ($CmdType == "select") {
    $sth = $db->prepare($sql); $sth->execute(); $data = $sth->fetchall(PDO::FETCH_NUM);
    return $OPdbresult = count($data);
  }

  if ($CmdType == "select_val") {
    $sth = $db->prepare($sql); $sth->execute(); $data_val = $sth->fetchall(PDO::FETCH_NUM);
    return $OPdbresult = count($data_val);
  }

  if ($CmdType == "insert" or $CmdType == "update" or $CmdType == "delete") {
    return $OPdbresult = $db->exec($sql);
} }

?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
B [PHP] Creare PDF dopo inserimento dati form PHP 4
S Creare in automatico PDF da MySQL PHP 2
M Creare stampe pdf con tabelle relazione uno a molti PHP 0
A Creare da form un PDF da inviare come allegato. PHP 1
F Script PHP + MySql - immettere dati e creare un documento Word o PDF PHP 4
GoshMaledetto Creare PDF con Php e PDFlib PHP 1
M liberia fpdf creare form che al premere al bottone di sumit mi crei il pdf PHP 0
G creare PDF da url PHP 3
Z Creare PDF o ePub PHP 3
M creare pdf con php - libreria mpdf PHP 0
A Creare PDF online PHP 12
I Creare documento stampabile in pdf PHP 2
F Creare un file in PDF Windows e Software 4
G creare pdf da pagina corrente PHP 1
grottafelix Creare PDF via asp su server remoto Classic ASP 11
L Creare File Pdf PHP 2
E Creare un testo trasparente dietro un div HTML e CSS 5
M Creare traccia di download file sul server HTML e CSS 2
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
L Creare ancore interne alla pagina PHP 1
I Creare un banner temporaneo JavaScript Javascript 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
U PHP creare un file excel dopo ricerca nel DB PHP 0
A Creare un cronometro PHP 5
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 3
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3

Discussioni simili