Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam! mam taki problem. Zainstalowałem sobie FPDF skonfigurowałem polskie fonty i wszystko gra. mam np skrypt:
<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->AddFont('times', '', '905190_times.php');
$pdf->SetFont('times', '', 12);
$pdf->Cell(40, 10, 'test test ');
$pdf->Output();
?>
po wyswietleniu wyświetla mi się ładne okno w pdf'ie z napisami test test
wcześniej niemiałem styczności z FPDF dlatego wie ktoś może jak tu umieścić krypt php aby wykonany otworzył się w pdf'ie??
chodzi mi dokładnie o coś takiego np:
skrypt formularze
w jednym pliku wpisuje dane do formularza klikając w wyslij otwiera mi się plik pdf z tymi danymi.
lub co trudniejsza mam taki skrypt:
<?
$przed = array(" ", "!", "", "@", "˙", "~", "^");
$po = array(" ", " ", " ", " ", " ", "<img src='logo7.png'>", $pobierz );
$first=true;
$fd = fopen("/var/www/apache2-default/pliki/unix/tmp.txt", "r");
while (!feof ($fd)) {
$BUFFER = fgets($fd, 152);
if ($BUFFER[41]=="~") {
if (! $first) echo "</div>";
$first=false;
echo "<div>". str_replace($przed , $po, $BUFFER);
} else if ($BUFFER) {
echo str_replace($przed , $po, $BUFFER);
} else
echo " ";
}
echo "</div>";
?>
tutaj za pomocą cssa oddzielaja mi ise strony wydruku ( <div>)
jak cos takiego połączyć z FPDF??
Offline
To poniżej wkleisz w to powyżej i zamiast echo będziesz używał funkcji FPDF do zapisywania tego do pdfa już jak chcesz.
Offline
Może jakaś podpowiedż jak mniej więcej się uzywa tych funkcji w takich skryptach php??
Offline
http://www.fpdf.org/
Polecam tutoriale, a w manualu masz opis wszystkich funkcji.
Offline
No niestety niebardzo wiem jak tego użyć do tego programu. Jak bym niepróbował to mam czysty ekran lub to co wpisze w $pdf->Cell(5,10 'napis')
Jest ktos w stanie mnie jakos naprowadzić??
Offline
... lub to co wpisze w $pdf->Cell(5,10 'napis')
czyli słowo 'napis'? Jeśli tak to wszystko ok. Może powinieneś dodać obramowanie za co odpowiadają kolejne parametry wywołania tej funkcji.
Offline
Tzn?? jak obramowanie?? był bys w stanie pokazać mi to na jakimś warunku albo pętli?? bo ja niewiem zabardzo ja tu pozmieniać z echo na funkcje wyswietlająca tekst
Offline
mam teraz cos takiego i wyswietla mi pusty ekran:
<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->AddFont('times', '', '905190_times.php');
$pdf->SetFont('times', '', 12);
$pdf->Cell(40, 10, 'test test2 ');
$pdf->Output();
$przed = array(" ", "!", "", "@", "˙", "~", "^");
$po = array(" ", " ", " ", " ", " ", "<img src='logo7.png'>", $pobierz );
$first=true;
$fd = fopen("/var/www/apache2-default/fpdf1/pliki/tmp.txt", "r");
while (!feof ($fd)) {
$BUFFER = fgets($fd, 152);
if ($BUFFER[41]=="~") {
if (! $first) echo "</div>";
$first=false;
echo "<div>". str_replace($przed , $po, $BUFFER);
} else if ($BUFFER) {
echo str_replace($przed , $po, $BUFFER);
} else
echo " ";
}
echo "</div>";
?>
Offline
No więc po długich próbach udało mi sie coś takiego zrobić:
<?php
define('FPDF_FONTPATH','font/');
require('fpdf.php');
$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->AddFont('courierbd', '', '635911_courbd.php');
$pdf->SetFont('courierbd', '', 8);
$first=true;
$fd = fopen("/var/www/apache2-default/fpdf1/pliki/tmp.txt", "r");
while (!feof ($fd)) {
$BUFFER = fgets($fd, 152);
$pdf->MultiCell(200,4, "$BUFFER");
}
$pdf->Output();
dzięki czemu wyświetla mi fajnie tekst!
Tylko takie pytanie - wcześniej wyglądało to tak ( normalnie w php):
<?
$przed = array(" ", "!", "", "@", "˙", "~", "^");
$po = array(" ", " ", " ", " ", " ", "<img src='logo7.png'>", $pobierz );
$first=true;
$fd = fopen("/var/www/apache2-default/pliki/unix/tmp.txt", "r");
while (!feof ($fd)) {
$BUFFER = fgets($fd, 152);
if ($BUFFER[41]=="~") {
if (! $first) echo "</div>";
$first=false;
echo "<div>". str_replace($przed , $po, $BUFFER);
} else if ($BUFFER) {
echo str_replace($przed , $po, $BUFFER);
} else
echo " ";
}
echo "</div>";
?>
jak widac tu usuwa mi niepotrzebne znaczki z tekstu :
$przed = array(" ", "!", "", "@", "˙", "~", "^");
$po = array(" ", " ", " ", " ", " ", "<img src='logo7.png'>", $pobierz );
oraz za pomocą css gdy napotka znaczek ~ to ucina mi w tym miejscu stronę. BYł bym wdzięczny gdyby ktoś mi coś nasunął jak to zrobić za pomocą fpdf.
Offline
Pomyśl, popatrz jaki html dostajesz i czy możesz zrobić to samo z wykorzystaniem fpdf. CSS-a tu nie użyjesz ani htmla, wiec musisz zamieniać znaczniki odpowiednio. Co to za plik tmp.txt, moze nie ma potrzeby go parsować i przerabiać, może lepiej od razu stworzyć na jego podstawie skrypt wypisujący te dane odpowiednio.
Offline
plik tmp.txt zawiera mnóstwo danych różnych osób. Normalnie używałem css'a i łamanie strony wydruku po to żeby dane jednej osoby nie wchodziły na dane drugiej osoby tylko każdy miał swoje dane na osobnej stronie. I tutaj chodzi mi o to samo. Da się to jakos obejśc??Ma ktoś może jakiś dobry pomysł??Niewiem czy fpdf posiada funkcje łamania strony wydruku.
Offline
Może prościej było by tak: wszystko to co wyświetla mi sie w przeglądarce (łącznie z grafiką) wrzucić do pliku (np doc z łamaniem tych stron) i z tego pliku pociągnąc to do pdf'a za pomocą fpdf. Tylko niewiem czy jest taka możliwośc wogóle.
Offline
Chłopie poczytaj tą dokumentacje, nie jest tego przecież dużo. Masz metode AddPage() dodaje nową strone do dokumentu pdf. Wieć co wypisujesz tekst o osobie, decydujesz że wypisałeś wszystko kończysz i dodajesz nową strone. Banalne, tylko trzeba umieć i chcieć poczytać.
Offline