Mam problem, napisałem generowanie faktury do PDF jednak mam problem.
Plik faktury ma jedną stronę na której są daty, numer faktury, sprzedawca, nabywca i jedna pozycja w tabelce a waży przeszło 563 KB.
Wiecie może dlaczego taks ie dzieje?
if ($get_produkt1>0) { } // patch do katalogu z fontami // implementowanie biblioteki require('Classes/fpdf.php'); // implementowanie klasy tworzenia tabelki require('Classes/skrypt_tabela.php'); // implementowanie funkcji wypisywania liczby słownie require('Classes/liczba_slownie.php'); class PDF extends PDF_MC_Table { function Footer() { //Go to 1.5 cm from bottom $this->SetY(-15); //Select Arial italic 8 $this->SetFont('arial_ce','I',8); //Print current and total page numbers $this->Cell(0,10,'Strona '.$this->PageNo().' z {nb}',0,0,'R'); } } $pdf=new PDF(); $pdf->Open(); $pdf->AliasNbPages(); // Dodawanie strony z układem pionowym $pdf->AddPage('P', 'A4'); // definujemy czcionkę do pdf $pdf->AddFont('arial_ce','','arial_ce.php'); $pdf->AddFont('arial_ce','I','arial_ce_i.php'); $pdf->AddFont('arial_ce','B','arial_ce_b.php'); $pdf->AddFont('arial_ce','BI','arial_ce_bi.php'); //////////////////////////////////////////////////////////////// // wypisanie informacji że faktura to tylko podgląd if ($Bufor==1) { $pdf -> SetFont('arial_ce', 'B', 13); $pdf -> SetTextColor(255,0,0); $pdf->MultiCell(0,5, 'PODGLĄD FAKTURY PRZYGOTOWANEJ DO ZAKSIĘGOWANIA',0, 'C',0); $pdf->MultiCell(0,1, '______________________________________________________________________',0, 'C',0); $pdf -> SetTextColor(0,0,0); // dodanie przerwy 7 mm $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y+5); } // wpisaywanie daty faktury $pdf -> SetFont('arial_ce', '', 8); $pdf->MultiCell(0,5, 'Data wystawienia: '.$Data_wystawienia.'',0, 'R',0); $pdf->MultiCell(0,5, 'Data sprzedaży: '.$Data_sprzedazy.'',0, 'R',0); // dodanie przerwy 7 mm $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y+5); // wypisanie numery faktury $pdf -> SetFont('arial_ce', 'B', 13); $pdf->MultiCell(0,5, 'Faktura VAT Nr: '.$Numer_faktury.'',0, 'C',0); // dodanie przerwy 7 mm $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y+5); // wypisanie oryginał kopia $pdf -> SetFont('arial_ce', 'B', 11); $pdf->MultiCell(0,5, 'ORYGINAŁ / KOPIA',0, 'R',0); // dodanie przerwy 7 mm $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y+5); ///////////////////////////////////////////////////////////////////////////////////// // nagłówek sprzedawca wystawca $pdf -> SetFont('arial_ce', 'B', 8); $pdf->Cell(95,10, 'Sprzedawca:',0, 0, 'L',0); $pdf->Cell(95,10, 'Wystawiający w imieniu sprzedawcy',0, 1, 'L',0); $pdf -> SetFont('arial_ce', '', 8); // dane sprzedawcy $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x+10, $y); $pdf->MultiCell(80,5, $Dane_sprzedawca,0, 'L',0); // dane wystawiającego $x = $pdf->GetX(); //$y = $pdf->GetY(); $pdf->SetXY($x+105, $y); $pdf->MultiCell(80,5, "".$Spr_wys_nazwa_firmy."\n".$Spr_wys_kod_pocztowy." ".$Spr_wys_miasto.", ".$Spr_wys_adres." ".$Spr_wys_numer_domu."\nREGON: ".$Spr_wys_regon."\nNIP: ".$Spr_wys_nip."" ,0, 'L',0); // przerwa $pdf->MultiCell(0,8, '' ,0, 'L',0); // nagłówek nabywca $pdf -> SetFont('arial_ce', 'B', 8); $pdf->MultiCell(95,7, 'Nabywca:',0, 'L',0); $pdf -> SetFont('arial_ce', '', 8); //dane nabywcy faktury $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x+10, $y); $pdf->MultiCell(85,5, "".$Na_nazwa_firmy."\n".$Na_kod_pocztowy." ".$Na_miasto.", ".$Na_adres." ".$Na_numer_domu."\nREGON: ".$Na_regon."\nNIP: ".$Na_nip."" ,0, 'L',0); // dodanie przerwy 10 $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y+3); /////////////////////////////////////////////////////////////////////////// // tabelka z produktami $pdf->Cell(10,7, 'Lp.' ,1, 0, 'C',0); $pdf->Cell(50,7, 'Nazwa towaru/usługi' ,1, 0, 'C',0); $pdf->Cell(10,7, 'Ilość' ,1, 0, 'C',0); $pdf->Cell(25,7, 'Cena netto' ,1, 0, 'C',0); $pdf->Cell(10,7, 'VAT' ,1, 0, 'C',0); $pdf->Cell(25,7, 'Wartość netto' ,1, 0, 'C',0); $pdf->Cell(25,7, 'Kwota VAT' ,1, 0, 'C',0); $pdf->Cell(30,7, 'Wartość brutto' ,1, 1, 'C',0); //tabelka z 8 kolumnami $Suma_wartosc_netto = 0; $Suma_kwota_vat = 0; $Suma_wartosc_brutto = 0; for($i=0; $i<count($Towary); $i++) { $lp = $i + 1; $Towar_nazwa = $Towary[$i][0]; $Towar_ilosc = $Towary[$i][1]; $Towar_cena_netto = $Towary[$i][2]; $Towar_vat = $Towary[$i][3]; $Towar_wartosc_netto = $Towar_ilosc * $Towar_cena_netto; $Towar_wartosc_brutto = $Towar_wartosc_netto + $Towar_kwota_vat; $Suma_wartosc_netto = $Suma_wartosc_netto + $Towar_wartosc_netto; $Suma_kwota_vat = $Suma_kwota_vat + $Towar_kwota_vat; $Suma_wartosc_brutto = $Suma_wartosc_brutto + $Towar_wartosc_brutto; $pdf->Row(array($lp.'.', $Towar_nazwa, $Towar_ilosc, number_format($Towar_cena_netto, 2, ',', ' ').' zł', $Towar_vat, number_format($Towar_wartosc_netto, 2, ',', ' ').' zł', number_format($Towar_kwota_vat, 2, ',', ' ').' zł', number_format($Towar_wartosc_brutto, 2, ',', ' ').' zł')); // liczenie poszczególnych stawek VAT // sprawdzamy czy dana stawka jest już w tablicy i czy jest już taka wartość VAT { // jeśli tak, to dodajemy do poprzednich sumowań dane aktualnego produktu $Stawki_VAT[$Towar_vat][0] = $Stawki_VAT[$Towar_vat][0] + $Towar_wartosc_netto; $Stawki_VAT[$Towar_vat][1] = $Stawki_VAT[$Towar_vat][1] + $Towar_kwota_vat; $Stawki_VAT[$Towar_vat][2] = $Stawki_VAT[$Towar_vat][2] + $Towar_wartosc_brutto; } else { // jeśli nie ma w tablicy to dodajemy nową stawkę } } // sekcja razem $pdf -> SetFont('arial_ce', 'B', 8); $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x+70, $y); $pdf->MultiCell(25,7, 'Razem:' ,0, 'R',0); $pdf->SetXY($x+95, $y); $pdf->MultiCell(10,7, '' ,1, 'R',0); $pdf->SetXY($x+105, $y); $pdf->SetXY($x+130, $y); $pdf->SetXY($x+155, $y); // sekcja wyświetlająca VAT // wyświetlanie wierszy tabeliwg stawek VAT //echo '<pre>'; //var_dump($Stawki_VAT); //echo '</pre>'; $Licznik_kontrolny = 0; foreach ( $Stawki_VAT as $Stawka => $Wartosc_stawki ) { if($Licznik_kontrolny==0) $W_tym = 'w tym:'; else $W_tym = ''; if($Stawka=='ZW') $Stawka = $Stawka; else if($Stawka > 0) $Stawka = $Stawka.'%'; else $Stawka = $Stawka; $pdf -> SetFont('arial_ce', '', 8); $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x+70, $y); $pdf->MultiCell(25,7, $W_tym ,0, 'R',0); $pdf->SetXY($x+95, $y); $pdf->MultiCell(10,7, $Stawka ,1, 'R',0); $pdf->SetXY($x+105, $y); $pdf->SetXY($x+130, $y); $pdf->SetXY($x+155, $y); $Licznik_kontrolny++; } // sekcja do zapłaty $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y+10); $pdf->MultiCell(40,10, 'Do zapłaty ogółem:' ,0, 'L',0); $pdf -> SetFont('arial_ce', 'B', 8); $pdf->SetXY($x+40, $y+10); // sekcja sposób zapłaty $pdf -> SetFont('arial_ce', '', 8); $pdf->SetXY($x+90, $y+10); $pdf->MultiCell(40,10, 'Sposób zapłaty:' ,0, 'L',0); $pdf -> SetFont('arial_ce', 'B', 8); $pdf->SetXY($x+130, $y+10); $pdf->MultiCell(50,10, "$get_platnosc_1 $get_platnosc_2" ,0, 'L',0); // sekcja do zapłaty słownie $x = $pdf->GetX(); $y = $pdf->GetY(); $pdf->SetXY($x, $y); $pdf -> SetFont('arial_ce', '', 8); $pdf->MultiCell(40,10, 'Do zapłaty słownie:' ,0, 'L',0); $pdf -> SetFont('arial_ce', 'B', 8); $pdf->SetXY($x+40, $y); $pdf -> SetFont('arial_ce', 'I', 8); if ($Suma_cle[1]=="") $Suma_cle[1]=0; $reszta = $Suma_cle[1].'/100 PLN'; $pdf->MultiCell(0,10, slownie($Suma_cle[0]).' '.$reszta.'' ,0, 'L',0); // informacje o prowizji $pdf->MultiCell(0,4, '' ,0, 'L',0); $pdf -> SetFont('arial_ce', '', 6); $pdf->MultiCell(0,5, 'Prowizja zgodnie z umową agencyjną.' ,0, 'L',0); $pdf->MultiCell(0,5, "$Informacja" ,0, 'L',0); // podpisy $pdf->MultiCell(0,15, '' ,0, 'L',0); $pdf -> SetFont('arial_ce', '', 8); $pdf->Cell(95,5, 'Potwierdzenie sprzedawcy',0, 0, 'C',0); $pdf->Cell(95,5, 'Podpis wystawcy faktury VAT',0, 0, 'C',0); // generowanie pliku pdf if ($generuj_serwer==1) $pdf -> Output("../faktury/".$_GET['nazwa_pliku']."",'F'); else $pdf->Output();