![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mam następujący problem:
Używam biblioteki PDFLib do dynamicznego generowania PDFów przez php. Napisałem 2 skrypty. Pierwszy zawiera formularz który po odpaleniu SUBMITa ma przesłać dane do drugiego skryptu. Drugi skrypt ma na podstawie przysłanych zmiennych wygenerować PDFa. Obydwa skrypty chcę odpalić przez HTTPS. Sprawa rypie się w momencie wysyłania danych. Przeglądarka (IE6PL) wyrzuca komunikat: "Otwierana strona zawiera zarówno elementy bezpieczne jak i takie, które nie są bezpieczne. Czy chcesz wyświetlić elementy, które nie są bezpieczne?". Obojętnie czy wybierze się TAK czy NIE, PDF generuje się prawidłowo. Można potem zajrzeć do Plik->Właściwości i jeśli wybraliśmy przy pytaniu TAK to mamy tam: "Transmisja - nie zaszyfrowano". Nie bardzo mi się to podoba. ![]() Co ciekawe jeżeli do wysłania formularza używam metody GET problem znika. Niestety zależy mi żeby był to POST. Jak zlikwidować ten komunikat? Problem nie jest chyba banalny, bo spotkałem się z tym komunikatem np. podczas sprawdzania stanu konta przez internet w banku WBK. Nie za każdym razem co prawda ale jednak. Skoro tam jest z tym problem... :? (stać ich chyba żeby poszukać rozwiązania) Zastanawiam się czy nie ma to jakiegoś związku z budowaniem nagłówka przez drugi ze skryptów? Kod $buf = PDF_get_buffer($p);
$len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=dokument.pdf"); print $buf; PDF_delete($p); Dla jasności poniżej wklejam kod formularza: Kod <BODY>
<FORM NAME="Form1" ACTION="generuj_pdfa.php" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="zmienna" VALUE="wartosc"> <A HREF="javascript:document.Form1.submit()">Link</A> </FORM></BODY> Będę wdzięczny za każdą sugestię. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Co do wielkości PDF-a - ustaw sobie w skrypcie:
Kod pdf_set_value($pdf,"compress", 9); i porównaj rozmiar pliku wynikowego.
A ten SSL ciekawie się u Ciebie zachowuje. Nagłówek jest przecież inline, nie powinien traktować go jako attachment. Zmiana na https nie powinna na to wpływać. Nie wywala nic o nieszyfrowanych danych? Jeśli moższ, sprawdź jeszcze jak się zachowuje po użyciu obrazka w treści PDF-a oraz własnego fontu. Czyli: Kod PDF_set_parameter($pdf,"resourcefile","/ścieżka/do/pdf_lib/fonts/pdflib.upr");
$times=PDF_findfont($pdf,"Times New Roman","iso8859-2",1); PDF_setfont($pdf,$times,8); oraz Kod if (($image=PDF_open_image_file($pdf, "jpeg", "obrazek.jpg", "", 0)) == -1 )
{ PDF_set_text_pos($pdf,1,1); PDF_show($pdf,"Błąd ładowania obrazka!"); } else { PDF_place_image($pdf, $image, (float) 5, (float) 5, (float) 1); PDF_close_image($pdf, $image); }; Oczywiście w pliku pdflib.upr musisz mieć Kod Encoding
iso8859-2=iso8859-2.enc iso8859-2=iso8859-2.cpg oraz Kod FontOutline
Times New Roman=TIMES.TTF A times.ttf w katalogu tym samym co pdflib.upr. Jeśli będzie Ci się chciało to napisz jakie wrażenia. -------------------- cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:02 |