login  Naam:   Wachtwoord: 
Registreer je!
 Forum

pdf slashes

Offline Button - 12/08/2005 11:59
Avatar van ButtonPHP ver gevorderde ik heb een script gebouwd voor een zakelijke brief te maken, maar stoot nog op "ampetante" foutjes:

wanneer ik in mijn formulier aanhalingstekens gebruik (bv. ik gebruik "aanhalingstekens") dan wordt er voor die " 's een \ gezet...
(dus: ik gebruik \"aanhalingstekens\")
dit is volgens mij dus een automatische addslash functie in pdf ofzo maar dit is niet meer nodig zoals je ziet want de " 's worden AL getoond dus die slashes zijn er te veel aan...

  1. <?php
  2.  
  3.  
  4.  
  5.  
  6.  
  7. //$_POST['briefhoofd'] && $_POST['afzender'] && $_POST['geadresseerde'] && $_POST['plaats'] && $_POST['datum'] && $_POST['uwkenmerk'] && $_POST['onskenmerk'] && $_POST['onderwerp'] && $_POST['aanhef'] && $_POST[''] &&
  8.  
  9.  
  10. if(!empty($_POST)){
  11.  
  12.  
  13. $briefhoofd=$_POST['briefhoofd'];
  14. $afzender=$_POST['afzender'];
  15. $geadresseerde=$_POST['geadresseerde'];
  16. $plaats=$_POST['plaats'];
  17. $datum=$_POST['datum'];
  18. $uwkenmerk=$_POST['uwkenmerk'];
  19. $onskenmerk=$_POST['onskenmerk'];
  20. $onderwerp=$_POST['onderwerp'];
  21. $aanhef=$_POST['aanhef'];
  22. $inleiding=$_POST['inleiding'];
  23. $kern=$_POST['kern'];
  24. $slot=$_POST['slot'];
  25. $slotformule=$_POST['slotformule'];
  26. $handtekening=$_POST['handtekening'];
  27. $bijlage=$_POST['bijlage'];
  28.  
  29.  
  30.  
  31. $pdf = pdf_new();//nieuw pdf aanmaken
  32.  
  33. $path="C:\\web\\pdf\\test.pdf";
  34.  
  35. pdf_open_file($pdf, $path);//het pad waar het bestand moet komen
  36.  
  37. pdf_begin_page($pdf, 595, 842);//pagina grote bepalen
  38.  
  39. pdf_set_font($pdf, "Times-Roman", 12, "host");//font bepalen
  40.  
  41.  
  42.  
  43.  
  44.  
  45. pdf_show_xy($pdf, $briefhoofd, 40, 820); //text= Briefhoofd (1)De afzender met naam, adres en andere gegevens, vaak ook met logo. Het lettertype in het briefhoofd wijkt vaak af van dat in de tekst.
  46.  
  47. pdf_set_font($pdf, "Times-Roman", 10, "host");//font bepalen
  48.  
  49. $tekst="Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?" ;
  50. pdf_continue_text($pdf, ""); //enter
  51. pdf_continue_text($pdf, $afzender);//zie Briefhoofd
  52.  
  53. pdf_continue_text($pdf, ""); //enter
  54. pdf_continue_text($pdf, $geadresseerde);//Adressering (2) In het geval van een organisatie noem je eerst de organisatie (Sportcentre Action), als die bekend is ook een afdeling, en daarna pas de naam van de lezer.
  55.  
  56. pdf_continue_text($pdf, ""); //enter
  57. pdf_continue_text($pdf, $plaats . ", " . $datum);//" Plaats en datum (3)Zet een komma na de woonplaats en schrijf de maand voluit.
  58.  
  59. pdf_continue_text($pdf, ""); //enter
  60.  
  61. pdf_continue_text($pdf, "Uw kenmerk: " . $uwkenmerk); //" Kenmerken en onderwerp (4)
  62. //De kenmerken doen dienst bij het archiveren van de brief. Verder kunnen ze ook in een antwoord gebruikt worden bij het verwijzen naar eerdere brieven.
  63. //Achter onderwerp (of: betreft) komt het thema van de brief.
  64.  
  65. pdf_continue_text($pdf, "Ons kenmerk: " . $onskenmerk); //zie vorig
  66.  
  67. pdf_continue_text($pdf, ""); //zie kenmerk
  68.  
  69. pdf_continue_text($pdf, "Onderwerp: " . $onderwerp); //enter
  70. pdf_continue_text($pdf, ""); //enter
  71.  
  72. pdf_continue_text($pdf, ""); //enter
  73. pdf_continue_text($pdf, $aanhef . ","); //Aanhef: zie bijgeleverde link voor (lange :p) uitleg: http://www.worldwidewriting.com/Nederlands/documents/dezakelijkebrief.doc
  74.  
  75. pdf_continue_text($pdf, ""); //enter
  76. pdf_continue_text($pdf, $inleiding); //text=inleiding
  77.  
  78. pdf_continue_text($pdf, ""); //enter
  79. pdf_continue_text($pdf, $kern);//text=kern
  80.  
  81. pdf_continue_text($pdf, ""); //enter
  82. pdf_continue_text($pdf, $slot);//text=slot
  83.  
  84. pdf_continue_text($pdf, ""); //enter
  85. pdf_continue_text($pdf, ""); //enter
  86. pdf_continue_text($pdf, $slotformule);//" Slotformule en ondertekening (7)
  87. //Veel verschillende slotformules zijn mogelijk; Met vriendelijke groet (-en) is redelijk neutraal en wordt dan ook steeds meer gebruikt. Iets als Hoogachtend is ook prima, maar oogt tegenwoordig wat formeel en stijfjes.
  88. //Een zakelijke brief moet altijd ondertekend worden met onder de handtekening de naam. Vrouwen kunnen overwegen hun voornaam voluit te schrijven om in een reactie een seksistische aanhef als Geachte heer [achternaam] te voorkomen.
  89. pdf_continue_text($pdf, ""); //enter
  90. pdf_continue_text($pdf, $handtekening); //enter
  91.  
  92. pdf_continue_text($pdf, ""); //enter
  93. pdf_continue_text($pdf, ""); //enter
  94. //eventueel:
  95. pdf_continue_text($pdf, "Bijlage: " . $bijlage); //enter
  96.  
  97. pdf_end_page($pdf);//pagina sluiten
  98. pdf_close($pdf);//pagina sluiten
  99.  
  100. echo("Je brief is <u>succesvol</u> aangemaakt, het bestand vind zich in dit path: <b><i> " . $path . " </i></b></a>... ");
  101.  
  102. }else{
  103.  
  104. ?>
  105.  
  106.  
  107. <html>
  108. <head>
  109. <title>Brief invullen</title>
  110. </head>
  111. <body>
  112. <form action="pdf.php" method="POST">
  113. <pre>
  114. Briefhoofd: <textarea rows="3" cols="80" name="briefhoofd"></textarea>
  115. <p>
  116. Adres Afzender: <textarea rows="6" cols="80" name="afzender"></textarea>
  117. <p>
  118. Adressering: <textarea rows="6" cols="80" name="geadresseerde">Adressering</textarea>
  119. <p>
  120. Plaats: <input type="text" name="plaats" value="Bv. Utrecht" size="30"> Datum: <input type="text" name="datum" value="Bv. 12 juni 2005" size="40">
  121. <p>
  122. Uw kenmerk: <input type="text" name="uwkenmerk" size="106">
  123. Ons kenmerk: <input type="text" name="onskenmerk" size="106">
  124. <p>
  125. Onderwerp: <input type="text" name="onderwerp" size="106">
  126. <p>
  127. Aanhef: <input type="text" name="aanhef" value="Bv. Geachte heer [achternaam]" size="106">
  128. <p>
  129. Inleiding: <textarea rows="10" cols="80" name="inleiding"></textarea>
  130. <p>
  131. Kern: <textarea rows="17" cols="80" name="kern"></textarea>
  132. <p>
  133. Kern: <textarea rows="10" cols="80" name="slot"></textarea>
  134. <p>
  135. Slotformule: <input type="text" name="slotformule" value="Bv. Met vriendelijke groet" size="106">
  136. <p>
  137. Handtekening: <input type="text" name="handtekening" value="Bv. Met vriendelijke groet" size="106">
  138. <p>
  139. Naam: <input type="text" name="naam" value="Bv. Tienen Bert" size="106">
  140. <p>
  141. Bijlage: <input type="text" name="bijlage" value="Bv. offerte" size="106">
  142. <p>
  143.  
  144. <input type="submit" value="Maak brief aan!"> <input type="reset" value="Opnieuw brief invullen">
  145. </pre>
  146. </form>
  147. </body>
  148. </html>
  149.  
  150.  
  151.  
  152. <?
  153. }
  154. ?>


Dit is mijn code

weten jullie de oplossing (heb ze dringend nodig)

6 antwoorden

Gesponsorde links
Offline Fenrir - 12/08/2005 12:00
Avatar van Fenrir PHP expert Met stripslashes() haal je ze weer weg.
Offline Button - 12/08/2005 12:02 (laatste wijziging 12/08/2005 12:18)
Avatar van Button PHP ver gevorderde heb ik al geprobeerd maar ik zal voor u nog eens proberen 

edit: ja, gelukt! tijdens dat ik de functie aan het schrijven was, begon ik te twijfelen dat ik de var wel gereturned had.
dank je

------------------------------------------------------------
2de vraag:

met de pdf-functie pdf_continue_text($pdf, ""); kan je een enter plaatsen maar zoals je in mijn script ziet worden er $variabelen in gezet... (zo dus: pdf_continue_text($pdf, "$variabele");
stel je nu voor dat die variabele langer is dan één regel en DAT IS ZO in een brief  dan maakt hij niet automatisch een enter aan...
:(
nu heb ik nl2br() gebruikt maar dan print hij <br /> op de plaats waar de "briefmaker" een enter heeft geplaats en geen enter zelf!!!
(zo dus: "ik plaats een <br /> enter")
hoe maak ik hier nu een echte enter van?
Offline cracker - 12/08/2005 12:30
Avatar van cracker Onbekend \n ?
Offline Legolas - 12/08/2005 12:31 (laatste wijziging 12/08/2005 12:40)
Avatar van Legolas Onbekend Nee, dacht het niet. volgens mij is pdf eigenlijk zelfde als met GD. je moet positioneren met x en y. Wacht even ik zoek het ff op;-)

edit: yep:):
bool pdf_show_xy ( resource pdfdoc, string text, float x, float y ) (php.net)
Dus, bijvoorbeeld:
  1. <?
  2. $pdfhandle = pdf_new();
  3. pdf_open_file($pdfhandle,"file1.pdf");
  4. pdf_begin_page($pdfhandle, 595, 842); // A4:p
  5. pdf_setcolor($pdfhandle, "stroke", "rgb", 0, 0, 0); // zwart = textcolor
  6. $font = pdf_findfont($pdfhandle, "Arial", "host", 0);
  7. if($font)
  8. pdf_setfont($pdfhandle, $font, 10); // 3e param = aantal pt.
  9. pdf_show_xy($pdfhandle, "Tekst1",20, 830); // 2e param = leftmargin, 3e param heightmargin
  10. pdf_show_xy($pdfhandle, "Tekst2", 20, 818);
  11. ?>

dit kun je natuurlijk aanpassen via je form:)
edit @hieronder: zie hier:p
Offline Button - 12/08/2005 12:40 (laatste wijziging 12/08/2005 13:33)
Avatar van Button PHP ver gevorderde ja je kan het positioneren (zie tut hier op sitemasters), maar ik kan toch moeilijk voor elke nieuwe regel/ enter opnieuw positioneren en hoe zou ik dat in godsnaam moeten doen...?

edit # hierboven: jamaar hoe weet ik nu wanneer de gebruiker een enter plaatst?
Offline Gerard - 12/08/2005 14:00
Avatar van Gerard Ouwe rakker je kan exploden op de \n en dan op die manier positioneren.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s