Avatar billede dmg Nybegynder
05. oktober 2004 - 14:59 Der er 19 kommentarer og
1 løsning

html i pdf fil

Hej eksperter.

Jeg ved godt dette er blevet spurgt om før, men jeg kan ikke finde den info, som jeg skal bruge.

På min hjemmeside, skal der generes en pdf fil.

På nedenstående kode har jeg i toppen, en variable der hedder $tekst. Her ville jeg jo gerne have, at den lavede nogle linjeskift, men det gør den ikke. Den skriver det præcis ud som der står i variablen. Hvordan kan man få den til at forstå html. Jeg ville blive glad, hvis i evt kunne tilrette min kode.

På forhånd tak.

$tekst = "test<br>test<br>test";

      $pdf = pdf_new();
      pdf_open_file($pdf, "".$row['klient']."-$today.pdf");
      pdf_set_info($pdf, "Author", "Daniel Graybill");
      pdf_set_info($pdf, "Title", "Bekræftelse");
      pdf_set_info($pdf, "Creator", "Daniel Graybill");
      pdf_set_info($pdf, "Subject", "Bekræftelse");
      pdf_begin_page($pdf, 595, 842);
      pdf_add_outline($pdf, "Bekræftelse");
      $font = pdf_findfont($pdf, "verdana", "winansi", 1);
      pdf_setfont($pdf, $font, 10);
      pdf_set_value($pdf, "textrendering", 1);
      pdf_show_xy($pdf, $tekst, 50, 750);
      pdf_moveto($pdf, 50, 740);
      pdf_lineto($pdf, 330, 740);
      pdf_stroke($pdf);
      pdf_end_page($pdf);
      pdf_close($pdf);
      pdf_delete($pdf);
Avatar billede exp Juniormester
05. oktober 2004 - 15:04 #1
Prøv:
---------------

$tekst = "test\ntest\ntest";

---------------

eller

---------------

$tekst = "test
test
test";

---------------
Avatar billede dmg Nybegynder
05. oktober 2004 - 15:08 #2
det virker desværre heller ik. Den laver bare firkanter, der hvor der skulle være linjeskift?
Avatar billede exp Juniormester
05. oktober 2004 - 15:10 #3
så ved jeg det ikke lige... :-/
Avatar billede dmg Nybegynder
05. oktober 2004 - 15:10 #4
ævvvv... :(
Avatar billede Slettet bruger
05. oktober 2004 - 19:30 #5
Hvad med:

// Windows-type linieskift
$tekst = "test\r\ntest\r\ntest";


eller

// Mac-type linieskift
$tekst = "test\rtest\rtest";
Avatar billede dmg Nybegynder
05. oktober 2004 - 22:58 #6
der er desværre heller ingen af dem der virker :(

Findes der ikke et modul til pdf modulet, der kan konvertere html til pdf. Det ville være en del lettere :-)

Håber i stadig kan komme på nogle ideer ;)
Avatar billede dmg Nybegynder
06. oktober 2004 - 11:54 #7
Jeg fandt dette link. Men jeg ved ikke om det kan bruges. Jeg kan ikke få det til at virke :(

http://dk2.php.net/manual/en/function.pdf-continue-text.php
Avatar billede dmg Nybegynder
06. oktober 2004 - 13:37 #8
Kan man ikke lave en if sætning, der siger. Hvis denne streng har mellemrum, skal den deles op i variabler?

så kunne man lave en for-løkke der angiver position?

Jeg har prøvet, men er ikke så god til den slags
Avatar billede detox Nybegynder
06. oktober 2004 - 15:42 #9
Jeg tror jeg vil prøve sådan:

$tekst = "test<br>test<br>test";
$Arr = explode("<br>",$foo);
foreach($Arr as $line) {
    pdf_continue_text($pdf,$line);
}
Avatar billede dmg Nybegynder
06. oktober 2004 - 16:15 #10
Hej detox!

Det ser rigtig spændende! Men jeg får en fejl på linje 2.

Notice: Undefined variable: foo in C:\Documents and Settings\dmg\Desktop\webs\dmg\kundedatabase\index.php on line 153

Har du en ide?
Avatar billede Slettet bruger
06. oktober 2004 - 16:17 #11
tror han mener $Arr = explode("<br>",$tekst);
Avatar billede dmg Nybegynder
06. oktober 2004 - 16:19 #12
nårrr ja!!! jeg er lidt sløv idag :) faktisk virker det!!! Alt for nice. Men der er et problem. Deyt virker kun med hans eksempel, når jeg indsætter min egen variable er problemet stadig det samme. Mon jeg skal ændrer "<br>" til noget andet?
Avatar billede detox Nybegynder
06. oktober 2004 - 16:20 #13
wollsen -> Selvfølgelig :o)
Avatar billede detox Nybegynder
06. oktober 2004 - 16:22 #14
Ja, det kommer jo helt an på hvad der adskiller linjerne i din tekst. Kan være du kan prøve med fx: "\r\n".
Avatar billede dmg Nybegynder
06. oktober 2004 - 16:24 #15
wuhuuuu!!!!!! det her virkede!!! tusind tak! Det kan godt være jeg har flere spørgsmål til det her projekt. Håber jeg kan få hjælp af jer igen... Fordi i er sku for seje!

Smid et svar så jeg kan dele ud!

$tekst = $row['sag'];
      $Arr = explode("\n",$tekst);
      foreach($Arr as $line)
      {
        pdf_continue_text($pdf,$line);
      }
Avatar billede detox Nybegynder
06. oktober 2004 - 16:26 #16
Velbekommen :O)
Avatar billede dmg Nybegynder
06. oktober 2004 - 16:33 #17
Jeg har et lille spørgsmål. Håber du kan fortælle mig det, selvom du har fået points.

normalt når jeg indsætter ting i min pdf fil, bruger jeg denne kode:

pdf_show_xy($pdf, "Beskrivelse af sag", 50, 640);

Her kan jeg vælge x,y til at placere den i dokumentet. Men hvordan gør jeg det med den kode du har lavet der?

Fordi det ser lidt sjovt ud, da nogle af tingende står oven i hinanden. Det skal bare rykkes en tark!
Avatar billede detox Nybegynder
06. oktober 2004 - 17:20 #18
Jeg må indrømme at jeg egentlig ikke ved særlig meget om pdf i php, da jeg ikke selv har rodet med det. Men et gæt ville være: pdf_set_text_pos ()
http://dk2.php.net/manual/en/function.pdf-set-text-pos.php
Avatar billede Slettet bruger
06. oktober 2004 - 19:32 #19
eftersom jeg kun rettede en fejl fortjener jeg ingen points ;) ellers tak
Avatar billede dmg Nybegynder
07. oktober 2004 - 08:13 #20
okay. Det må blive næste gang :-) tak gutter
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester