[PHP/PDF] eigen font gebruiken

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • robg1984
  • Registratie: December 2002
  • Laatst online: 17-09 11:18
ik ben bezig met het genereren van PDF-bestanden middels php. Dat lukt me aardig, waar ik alleen nog niet achter ben is hoe ik een eigen font gebruik. lokaal lukt het me wel maar op internet niet. Ik heb de volgende code geprobeerd:

PHP:
1
2
pdf_set_parameter($pdf,"resourcefile","pdflib.upr");
pdf_set_font($pdf, "ScalaSans-Regular", 13, "winansi");


wat ik heb gedaan: pdflib.upr geupload naar de server en het betreffende .ttf-bestand ook. (ScSRg__.ttf)

ook heb ik deze code geprobeerd:

PHP:
1
2
pdf_set_parameter($pdf,"resourcefile","pdflib.upr");
pdf_set_font($pdf, "ScalaSans-Regular", 13, "ScSRg__.ttf");


hoe stel ik dat nu goed in? via de search, google en php.net kom ik geen oplossingen tegen helaas...

Acties:
  • 0 Henk 'm!

Verwijderd

Daar had ik ook problemen mee, maar dit is de oplossing:

PHP:
1
2
pdf_set_parameter($pdf, "resourcefile", "/hele/pad/php/pdflib.upr"); 
pdf_set_parameter($pdf, "resourcefile", "/hele/pad/php/Times-Bold.afm");


suc6 8)

Acties:
  • 0 Henk 'm!

  • robg1984
  • Registratie: December 2002
  • Laatst online: 17-09 11:18
ok nu heb ik dit:

PHP:
1
2
pdf_set_parameter($pdf, "resourcefile", "d:\www\studio\www\demo\pdflib.upr");
pdf_set_font($pdf, "ScalaSans-Regular", 9, "ScSRg___.ttf");


en dat werkt niet, die resourcefile is goed, 'geset' maar die set_font blijkbaar niet, krijg deze melding:

Fatal error: PDFlib error: Unknown encoding 'ScSRg___.ttf' in d:\www\studio\www\demo\test_boxed.php on line 34

als ik dit doe, zoals jij zegt:
PHP:
1
2
pdf_set_parameter($pdf, "resourcefile", "d:\www\studio\www\demo\pdflib.upr");
pdf_set_parameter($pdf, "resourcefile", "d:\www\studio\www\demo\ScSRg___.ttf");


werkt dat ook niet omdat je blijkbaar niet 2 keer die resourcefile kan instellen...of moet die .ttf perse .afm zijn?

[ Voor 20% gewijzigd door robg1984 op 23-01-2004 10:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Dat weet ik niet zeker... ik heb alleen die afm fonts gebruikt die je bij php kado krijgt. Probeer het eens zou ik zeggen. gewoon zoeken op *.afm in je /php dir.

En dan:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$pdf = pdf_new();
pdf_open_file($pdf);

pdf_set_parameter($pdf, "resourcefile", "/hele/pad/php/pdflib.upr"); 
pdf_set_parameter($pdf, "resourcefile", "/hele/pad/php/Times-Bold.afm");

pdf_begin_page($pdf, 595, 842);

$font = pdf_findfont($pdf, "Times-Roman", "host", 0); 
if ($font) { 
    pdf_setfont($pdf, $font, 12); 
} 

pdf_setcolor($pdf, "both", "rgb", 0, 0, 0);
pdf_set_text_pos($pdf, 60, 700);
pdf_continue_text($pdf,"test");

pdf_end_page($pdf); 
pdf_close($pdf); 

$data = pdf_get_buffer($pdf); 
header('Content-type: application/pdf'); 
header('Content-disposition: inline; filename=Brief.pdf'); 
header('Content-length: ' . strlen($data)); 
echo $data;

[ Voor 96% gewijzigd door Verwijderd op 23-01-2004 11:58 ]


Acties:
  • 0 Henk 'm!

  • Akerboom
  • Registratie: Juni 2001
  • Laatst online: 07-07 16:30

Akerboom

Codito, ergo sum

robg1984 schreef op 23 januari 2004 @ 10:26:
ok nu heb ik dit:

[...]

als ik dit doe, zoals jij zegt:
PHP:
1
2
pdf_set_parameter($pdf, "resourcefile", "d:\www\studio\www\demo\pdflib.upr");
pdf_set_parameter($pdf, "resourcefile", "d:\www\studio\www\demo\ScSRg___.ttf");


werkt dat ook niet omdat je blijkbaar niet 2 keer die resourcefile kan instellen...of moet die .ttf perse .afm zijn?
Moet het dan niet zo zijn:
PHP:
1
2
pdf_set_parameter($pdf, "resourcefile", "d:\\www\\studio\\www\\demo\\pdflib.upr");
pdf_set_parameter($pdf, "resourcefile", "d:\\www\\studio\\www\\demo\\ScSRg___.ttf");


My 2 cents :)

Acties:
  • 0 Henk 'm!

  • robg1984
  • Registratie: December 2002
  • Laatst online: 17-09 11:18
ik krijg nu deze melding bij onderstaande code:

Fatal error: PDFlib error: Metrics data for font '2' not found in d:\www\studio-ode.nl\www\demo\test_boxed.php on line 36

PHP:
1
2
3
4
pdf_set_parameter($pdf, "resourcefile", "d:\www\studio\www\demo\pdflib.upr");
$font = pdf_findfont($pdf, "Symbol", "builtin", 0); //hij zei dat ik builtin moest gebruiken
pdf_set_font($pdf, $font, 12, "host"); //zonder host gaf hij foutmelding dat er te weinig parameters waren
pdf_show_xy($pdf, "HIER TEKST",126.73, 742.79);

Acties:
  • 0 Henk 'm!

  • servies
  • Registratie: December 1999
  • Laatst online: 00:01

servies

Veni Vidi Servici

Ok, ik kijk er even logisch tegenaan: PDF is van Adobe, Adobe is een groot voorstander van postscript en PDF. PDF is gedeeltelijk (voor zover ik het weet) gebaseerd op postscript. Verder moet PDF overal op leesbaar zijn: postscript is bijna overal naar geport, ttf niet. => waarschijnlijk zit het 'm inderdaad in dat ttf font. Volgens mij werkt PDF intern alleen met postscript fonts.
Ik kan het volledig fout hebben, maar dat is wat ik vermoed.

Acties:
  • 0 Henk 'm!

Verwijderd

voor het maken van een pdf moet je een adobe type1 font gebruiken...

Het gebruik van een ttf font is niet mogelijk

Conversie programma's zijn op het net te downloaden bijvoorbeeld ttf2pt1 voor linux....

Suc6

Acties:
  • 0 Henk 'm!

  • robg1984
  • Registratie: December 2002
  • Laatst online: 17-09 11:18
ok, ik moet dus afm-formaat hebben, ik heb die ttf2pt1 gedownload, ik heb er de documentatie van door gelezen alleen snap er niets van, ik ben niet bekend op DOS-gebied, ik wil alleen maar eenmalig een 3 tal fonts omzetten in afm-formaat...

Acties:
  • 0 Henk 'm!

Verwijderd

Dat is geen DOS..... Dat heet Linux.... (Kon je ook al stiekem uit de post van overloaddesign opmaken) 8)7 Als je daar geen verstand van hebt vrees ik dat je een ander programma moet gaan zoeken om fonts te converteren, of andere fonts moet gebruiken die wel standaard worden ondersteund door de php-lib.

Laat je nog even weten waarmee het gelukt is om je fonts te converteren voor de volledigheid van je post.

[ Voor 16% gewijzigd door Verwijderd op 27-01-2004 14:22 ]

Pagina: 1