[PHP] PDFlib problemen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 15:23

me1299

$ondertitel

Topicstarter
Ik moet op me werk nu met php iets gaan maken dat hij voor een pdf bestand op elke pagina een regel print.

PDFlib is nu geinstalleerd op de server (linux).

In de PHPINFO zie ik dit staan:

PDF Support enabled
PDFlib GmbH Version 4.0.3
Revision $Revision: 1.106 $

Ik dacht eerst fijn de handleiding te lezen en het voorbeeld scriptje eens uit te proberen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$p = PDF_new();
PDF_open_file($p, "");
PDF_set_info($p, "Creator", "hello.php");
PDF_set_info($p, "Author", "Rainer Schaaf");
PDF_set_info($p, "Title", "Hello world (PHP)");
PDF_begin_page($p, 595, 842);
$font = PDF_findfont($p, "Helvetica-Bold", "host", 0);
PDF_setfont($p, $font, 18.0);
PDF_set_text_pos($p, 50, 700);
PDF_show($p, "Hello world!");
PDF_continue_text($p, "(says PHP)");
PDF_end_page($p);
PDF_close($p);
$buf = PDF_get_buffer($p);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=hello_php.pdf");
print $buf;
PDF_delete($p);


Als output krijg ik vervolgens:
%PDF-1.3 %äãÏÒ 5 0 obj <> stream xœs áÒw3P0´PIã2T0BCSs…

\.¸—†GjNN¾By~QNŜ¢fH—FŒFqbe±B€G@Œ¦¦:—k^\›endstream endobj 6 0 obj 77 endobj 4 0 obj <> endobj 8 0 obj <> >> endobj 3 0 obj <>

endobj 7 0 obj <> endobj 1 0 obj <> endobj 2 0 obj <> endobj xref 0 9 0000000000 65535 f 0000000614 00000 n 0000000668 00000 n 0000000344

00000 n 0000000181 00000 n 0000000015 00000 n 0000000163 00000 n 0000000517 00000 n 0000000284 00000 n trailer <] >> startxref 715 %%EOF
Maar een ander voorbeeld van php.net werkt wel.

Ik neem aan dat het aan de browser ligt oid. Ik heb overal zitten zoeken en telkens staat er dat het komt omdat de Content-Length niet geset zou zijn.

Maar dat is wel het geval.

Mijn vraagjes:

Wat doe ik verkeerd?
Kan het zo'i'zo wel wat ik wil met deze versie?
Zijn er ook nog documenten over hoe je het met php allemaal moet klaarspelen, want de rest gaat allemaal over client side programmeertalen.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Acties:
  • 0 Henk 'm!

Verwijderd

Een paar mogelijke oorzaken van je probleem

1) Als je geen Acrobat reader hebt geinstalleerd kan je nogal eens deze output krijgen.

2) Als er na de ?> in je code nog tekens staan (ook spaties!!!) kan dit deze ellende veroorzaken (Dit geldt ook voor eventuele include-bestanden!!)

Het probleem met deze error is dat ie heel vaak in je cache blijft hangen. Je hebt dan allang het probleem opgelost, maar toch krijg je dezelfde meuk na een refresh. Maak dus regelmatig je cache leeg. Ook wil het nogal eens helpen om al je openstaande browsers te sluiten.
Zijn er ook nog documenten over hoe je het met php allemaal moet klaarspelen, want de rest gaat allemaal over client side programmeertalen.
Kijk eens op www.php.net/pdf

[ Voor 16% gewijzigd door Verwijderd op 14-01-2003 00:38 ]


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

IE heeft de rare neiging om mime-type's te cachen. Dus als je de pagina al eerder hebt geopend, wil dat nog wel eens problemen geven.

Voeg eens een wat random extra data achter je querystring, en dan is het probleem waarschijnlijk opgelost. Dit hoeft niet in live aangezien je de gebruiker deze pagina nooit eerder heeft geopend.

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 15:23

me1299

$ondertitel

Topicstarter
Verwijderd schreef op 14 januari 2003 @ 00:37:
Een paar mogelijke oorzaken van je probleem

1) Als je geen Acrobat reader hebt geinstalleerd kan je nogal eens deze output krijgen.

2) Als er na de ?> in je code nog tekens staan (ook spaties!!!) kan dit deze ellende veroorzaken (Dit geldt ook voor eventuele include-bestanden!!)

Het probleem met deze error is dat ie heel vaak in je cache blijft hangen. Je hebt dan allang het probleem opgelost, maar toch krijg je dezelfde meuk na een refresh. Maak dus regelmatig je cache leeg. Ook wil het nogal eens helpen om al je openstaande browsers te sluiten.


[...]


Kijk eens op www.php.net/pdf
Ik heb acrobat reader geinstalleerd ;)

Na de ?> staat verder nix.

En ook de allereerste keer werkte het niet. Dus het komt niet echt uit de cache. En een ander voorbeeld die het naar een file wegschrijft werkt wel.

En het eerste waar ik keek toen ik ermee begon was www.php.net/pfd maar daar verwijzen ze je door naar hun website voor meer info. En op hun website zeggen ze dat je de manual moet lezen 8)7

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Acties:
  • 0 Henk 'm!

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 09-09 09:55
Ik heb hier ook wel eens last van gehad. Toen ik de regel...

header("Content-Length: $len");

...weghaald had, wilde IE de PDF wel netjes openen. Dit komt waarschijnlijk omdat $len niet precies overeenkomt met de werkelijke data van de PDF.

Ik zou dus zeggen....probeer die regel eens weg te halen...

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb hier ook wel problemen mee gehad maar dat kwam door de cookies die door php voor de sessie werden weggeschreven... Hierdoor raakte IE in de war met de content-disposition.. Maar zie dat je geen sessies gebruikt dus dat zal het wel niet zijn
Pagina: 1