Skocz do zawartości

Web Hosting Talk

  • arubacloud.pl

    Partner technologiczny

    Aruba Cloud jest marką usług cloud na rynku europejskim. Została stworzona w celu dostarczenia firmom kompleksowych rozwiązań Cloud niezależnie od ich planów i projektów.

 

Zdjęcie

Generowanie pdfa - błąd

Generowanie pdfa - błąd

  • Proszę się zalogować aby odpowiedzieć
5 odpowiedzi na ten temat

Generowanie pdfa - błąd

#1 miglanc

miglanc

    Nowy użytkownik

  • Użytkownicy
  • 5 postów

Napisany 18 kwiecień 2017 - 09:56

Witam,

Wszystko działało i nagle przestało. Ktoś wie jak to naprawić?

Kod pliku:

<?php
/*
Template Name: Wniosek 1 PDF
*/
ob_start();

$wnioski_name = $_POST['wnioski_name'];
$wnioski_nazwisko = $_POST['wnioski_nazwisko'];
$wnioski_data = $_POST['wnioski_data'];

$wnioski_dokument = $_POST['wnioski_dokument'];
$wnioski_seria = $_POST['wnioski_seria'];
$wnioski_pesel = $_POST['wnioski_pesel'];
$wnioski_nip = $_POST['wnioski_nip'];

$wnioski_kraj = $_POST['wnioski_kraj'];
$wnioski_kod = $_POST['wnioski_kod'];
$wnioski_miejscowosc = $_POST['wnioski_miejscowosc'];
$wnioski_ulica = $_POST['wnioski_ulica'];

$kraj_kor = $_POST['kraj_kor'];
$kod_kor = $_POST['kod_kor'];
$miejscowosc_kor = $_POST['miejscowosc_kor'];
$ulica_kor = $_POST['ulica_kor'];

$wnioski_email = $_POST['wnioski_email'];
$wnioski_phone = $_POST['wnioski_phone'];

//echo $wnioski_kraj;

// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
	
    public function Header() {
        // Logo
        $image_file = K_PATH_IMAGES.'bik_logo.gif';
        $this->Image($image_file, 160, 10, 30, '', 'gif', '', 'T', false, 300, '', false, false, 0, false, false, false);
        // Set font
       // $this->SetFont('helvetica', 'N', 12);
        // Title
       // $this->Cell(0, 15, 'WNIOSEK O UDOSTĘPNIENIE INFORMACJI USTAWOWEJ', 0, false, 'C', 0, '', 0, false, 'M', 'M');
	   // header string
		$this->SetFont('FreeSans', 'B', 12);
		$this->SetY(28);	
		$this->SetX(45);
		
		$this->MultiCell(200, 60, 'WNIOSEK O UDOSTĘPNIENIE INFORMACJI USTAWOWEJ', 0, '', 0, 1, '', '', true, 0, false, true, 0, 'T', false);
    }
}


// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Czyszczenie BIK');
$pdf->SetTitle('Wniosek do BIK');
$pdf->SetSubject('Wniosek o udostępnienie informacji ustawowej');
$pdf->SetKeywords('TCPDF, PDF, example, BIK, guide');

// set default header data
//$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.'Wniosek-BIK', PDF_HEADER_STRING);
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING, '', array(255,255,255));

$pdf->Header->original_rMargin = 30;

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// remove footer
$pdf->setPrintFooter(false);
// ---------------------------------------------------------


// set font
$pdf->SetFont('FreeSans', 'B', 20);

// add a page
$pdf->AddPage();

$pdf->Write(0, '', '', 0, 'L', true, 0, false, false, 0);

$pdf->SetFont('FreeSans', '', 9);

// -----------------------------------------------------------------------------
$obraz = '<img src="/images/checkbox-off.png" alt="obraz" width="20" height="20" />';

$path = get_bloginfo('template_directory').'/wnioski/library/tcpdf/examples';

$tbl = '<table cellspacing="0" cellpadding="5" style="border-left:1px solid #000;border-right:1px solid #000">
   
	<tr style="background-color:#00549B; color:#ffffff">
   		<td width="673" align="center" border="1">Przedmiot zamówienia</td>
	</tr>
	<tr>
		<td width="673" height="30">Zamówioną Informację Ustawową: (zaznaczyć wybrane pole <img src="'.$path.'/images/checkbox-on.png" alt="obraz" width="10" height="10" />)</td>
	</tr>
	<tr>
		<td width="250" style="border-bottom:1px solid #000"><img src="'.$path.'/images/checkbox-off.png" alt="obraz" width="10" height="10" /> Odbiorę osobiście w BOK</td>
		<td width="423" style="border-bottom:1px solid #000"><img src="'.$path.'/images/checkbox-on.png" alt="obraz" width="10" height="10" /> Proszę przesłać na adres korespondencyjny</td>
	</tr>
  
  	<tr style="background-color:#00549B; color:#ffffff">
   		<td width="673" align="center" border="1">Dane identyfikacyjne osoby fizycznej (wszystkie pola obligatoryjne)</td>
	</tr>   
   	<tr>
   		<td width="180" style="border-bottom:1px solid #000">Imiona</td>
		<td width="493" style="border-bottom:1px solid #000;font-weight:bold">'.$wnioski_name.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Nazwisko</td>
		<td width="493" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_nazwisko.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Data urodzenia</td>
		<td width="493" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_data.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Rodzaj dokumentu tożsamości</td>
		<td width="140" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_dokument.'</td>
		<td width="120" style="border-top:1px solid #000;border-bottom:1px solid #000">Seria i numer</td>
		<td width="233" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_seria.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">PESEL</td>
		<td width="140" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_pesel.'</td>	
	
   		<td width="120" style="border-top:1px solid #000;border-bottom:1px solid #000"></td>
		<td width="233" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold"></td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr style="background-color:#00549B; color:#ffffff">
   		<td width="673" align="center" border="1">Adres zameldowania (wszystkie pola wymagane)</td>
	</tr>
	<tr>
   		<td width="180" style="border-bottom:1px solid #000">Kraj</td>
		<td width="493" style="border-bottom:1px solid #000;font-weight:bold">'.$wnioski_kraj.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Kod pocztowy</td>
		<td width="140" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_kod.'</td>
		<td width="120" style="border-top:1px solid #000;border-bottom:1px solid #000">Miejscowość</td>
		<td width="233" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_miejscowosc.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Ulica, nr domu, lokalu</td>
		<td width="493" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_ulica.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr style="background-color:#00549B; color:#ffffff">
   		<td width="673" align="center" border="1">Adres do korespondencji</td>
	</tr>
	<tr>
   		<td width="180" style="border-bottom:1px solid #000">Kraj</td>
		<td width="493" style="border-bottom:1px solid #000;font-weight:bold">'.$kraj_kor.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Kod pocztowy</td>
		<td width="140" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$kod_kor.'</td>
		<td width="120" style="border-top:1px solid #000;border-bottom:1px solid #000">Miejscowość</td>
		<td width="233" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$miejscowosc_kor.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">Ulica, nr domu, lokalu</td>
		<td width="493" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$ulica_kor.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr style="background-color:#00549B; color:#ffffff">
   		<td width="673" align="center" border="1">Adres e-mail i telefon</td>
	</tr>
	<tr>
   		<td width="180" style="border-top:1px solid #000;border-bottom:1px solid #000">E-mail</td>
		<td width="140" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_email.'</td>
		<td width="120" style="border-top:1px solid #000;border-bottom:1px solid #000">Telefon</td>
		<td width="233" style="border-top:1px solid #000;border-bottom:1px solid #000;font-weight:bold">'.$wnioski_phone.'</td>
	</tr>
	<tr><td style="line-height:0px"></td></tr>
	<tr style="background-color:#00549B; color:#ffffff">
   		<td width="673" align="center" border="1">Zgody (* - zgoda wymagana)</td>
	</tr>
	<tr>
   		<td width="25" style="border-top:1px solid #000;border-bottom:1px solid #000"><img src="'.$path.'/images/checkbox-on.png" alt="obraz" width="10" height="10" />*</td>
		<td width="500" style="border-top:1px solid #000;border-bottom:1px solid #000;text-align:justify;font-size:10px">
			<b>Wyrażam zgodę na na przetwarzanie moich danych osobowych</b> zawartych w formularzu rejestracyjnym oraz dołączonych do niego dokumentach poprzez Biuro Informacji Kredytowej dla potrzeb niezbędnych do rejestracji i korzystania z funkcji Portalu, zgodnie z ustawą z dnia 29 sierpnia 1978 roku o ochronie danych osobowych (dz. U. z 2002 r. Nr 101, poz. 926 ze zm.). Jednocześnie oświadczam, iż przyjmuję do wiadomości, że (a) administratorem tak zebranych danych osobowych jest Biuro Informacji Kredytowej, (b) moje dane osobowe będą przetwarzane w celu udzielenia wsparcia i obsługi Portalu oraz korzystania z funkcji Portalu, (c) podanie danych osobowych jest dobrowolne, jednak odmowa ich podania jest równoznaczna z brakiem możliwości Rejestracji na Portalu, (d) mam prawo do treści swoich danych i ich poprawienia.		
		</td>
		<td width="148" style="border-top:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #000;font-size:9px">Czytelny podpis:</td>
	</tr>
	<tr>
   		<td width="25" style="border-top:1px solid #000;border-bottom:1px solid #000"><img src="'.$path.'/images/checkbox-on.png" alt="obraz" width="10" height="10" />*</td>
		<td width="500" style="border-top:1px solid #000;border-bottom:1px solid #000;text-align:justify;font-size:10px">
			Oświadczam, że zapoznałem się z Regulaminem Informacji Ustawowej i akceptuję jego postanowienia.		
		</td>
		<td width="148" style="border-top:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #000;font-size:9px">Czytelny podpis:</td>
	</tr>
	<tr>
   		<td width="220" style="border-top:1px solid #000;border-bottom:1px solid #000;font-size:14px;text-align:right"><b>Data i czytelny podpis:</b></td>
		<td width="453" style="border-top:1px solid #000;border-bottom:1px solid #000"></td>
	</tr>
</table>';


$pdf->writeHTML($tbl, true, false, false, false, '');

// strona 2 - informacja
require_once('wniosek-1-i-2-str-2.php');

//Close and output PDF document
$pdf->Output('wniosek_bik-001.pdf', 'I');

//$zalacznik = $pdf->Output('wniosek_bik-001.pdf', 'I');

//============================================================+
// END OF FILE
//============================================================+

// wysyłanie zalącznika
    $attach = $pdf->Output('wniosek_bik-001.pdf', 'E');

    $boundary = '--=NextPart_' . md5(time());
    $head1 = 'From: Czyszczenie BIK' . "\r\n";	
    $head1.= 'Reply-To: biuro@czyszczeniebik.pl' . "\r\n"; // adres do odpowiedzi	
    $head1.= 'MIME-Version: 1.0'."\r\n";
    $head1.= 'Content-Type: multipart/mixed; boundary="' . $boundary . '"' . "\r\n";
    $head2 = 'Content-Type: text/plain; charset="UTF-8"' . "\r\n";
    $head2.= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";	
	
    $to = $wnioski_email; // adres z formularza	
	
    $subject = 'Wniosek PDF ze strony Czyszczenie BIK';
    $message = 'Witamy' . "\n\n" . 'W załączniku został wysłany gotowy wniosek o UDOSTĘPNIENIE INFORMACJI USTAWOWEJ.' . "\n\n" . 'Pozdrawiamy' . "\n\n";
    $message = wordwrap($message, 70);
    $output = '--' . $boundary . "\r\n" . $head2 . $message . '--' . $boundary . "\r\n" . $attach . "\r\n" . '--' . $boundary . '--' . "\r\n";
    if (mail($to, $subject, $output, $head1)) {
        //echo "sent";
    } else {
       // echo 'not sent';
    }
	$to2 = 'biuro@czyszczeniebik.pl'; // adres biura
	if (mail($to2, $subject, $output, $head1)) {
        //echo "sent";
    } else {
       // echo 'not sent';
    }



?>
Warning: Creating default object from empty value in /porto/wniosek-1-pdf-page.php on line 65

Warning: Cannot modify header information - headers already sent by (output started at /porto/wniosek-1-pdf-page.php:65) in /porto/wnioski/library/tcpdf/tcpdf.php on line 7626
TCPDF ERROR: Some data has already been output to browser, can't send PDF file

Edytowany przez miglanc, 18 kwiecień 2017 - 09:57.

  • 0

#2 nnd_newbie

nnd_newbie

    Czasami na forum

  • Użytkownicy
  • 47 postów

Napisany 18 kwiecień 2017 - 11:21

Wygląda na to że w PHP dostajesz ostrzeżenie o tym że tworzysz obiekt z pustej wartości (warning nr 1),  a wyświetlenie takiego ostrzeżenia to już wysłanie treści do wyszukiwarki.

 

A potem dostajesz kolejne ostrzeżenie i błąd że header już wysłany (przez warning 1) więc nie może wysłać PDF.

 

Propozycje:

1) Popraw w linii 65 żeby nie było ostrzeżenia

2) Wyłącz wyświetlanie warningów w przeglądarce. W wersji produkcyjnej w ogóle wyświetlanie błędów powinno być wyłączone. Włącz tylko pisanie błędów do logów.


Edytowany przez nnd_newbie, 18 kwiecień 2017 - 11:24.

  • 0

#3 miglanc

miglanc

    Nowy użytkownik

  • Użytkownicy
  • 5 postów

Napisany 18 kwiecień 2017 - 11:48

Właśnie mam:

ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

i coś błędy nadal są widoczne.


  • 0

#4 nnd_newbie

nnd_newbie

    Czasami na forum

  • Użytkownicy
  • 47 postów

Napisany 18 kwiecień 2017 - 12:11

Użyj phpinfo() zaraz po tych wpisach i i zobacz czy zadziałały.

 

Jak nie - szukaj przyczyn w konfiguracji PHP.

 

Jak ini_set zadziałały, to:

1) albo ten fragment nie jest wykonywany przy generowaniu pliku PDF (domyślam się, że masz te wpisy w jakimś pliku konfiguracyjnym)

2) po drodze coś Ci znowu włącza pisanie błędów


  • 0

#5 tb3.pl

tb3.pl

    Czasami na forum

  • Firma Bronze
  • 35 postów
  • Firma:Agencja Interaktywna CENTIB
  • Imię:Kasjan
  • Nazwisko:Rogal

Napisany 18 kwiecień 2017 - 15:21

Wywal po prostu tę linijkę:

 

$pdf->Header->original_rMargin = 30;
 

  • 0
VPS zlokalizowane w DC OVH PL: VPS HDD VPS SSD

#6 miglanc

miglanc

    Nowy użytkownik

  • Użytkownicy
  • 5 postów

Napisany 18 kwiecień 2017 - 16:31

 

Wywal po prostu tę linijkę:

 

$pdf->Header->original_rMargin = 30;
 

 

 

Hmmm wywaliłem i błąd ten sam...


  • 0





0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników