login  Naam:   Wachtwoord: 
Registreer je!
 Forum

pdf - barcode samen aanmaken

Offline thomas___ - 20/08/2005 03:55 (laatste wijziging 20/08/2005 03:59)
Avatar van thomas___PHP interesse Ik ben nu bezig aan een online shop, waarbij mensen ticket kunnen bestellen. Deze tickets worden via email(pdf) doorgezonden naar de persoon.
Tot hier geen probleem. Nu zou ik graag een barcode op de pdf's hebben. Deze is uiteraard afhankelijk van persoon tot persoon. Deze barcode zou ik graag op hetzelfde moment aanmaken als de pdf.
Na wat zoekwerk op internet vond ik een class om barcode's te maken. Nu wordt die barcode echter als png-file gemaakt.
Zou dit mogelijk om deze 2 perfect te combineren? Zou deze barcode tijdelijk aangemaakt kunnen worden en dan via "addPngFromFile" in mijn pdf te pompen?
pdf-maker gebruik ik: R&OS (http://sourceforge.net/projects/pdf-php)

Thomas

6 antwoorden

Gesponsorde links
Offline Frederic - 20/08/2005 11:51
Avatar van Frederic PHP ver gevorderde euhm...
je kan die PNG niet in de PDF gaan rammen, dat zou te simpel zijn 
Wat je wel kan die is de barcode class zo bewerken dat hij streepjes trekt (is volgens mij al bij de PNG, dus normaalgezien moet je enkel de output wijzigen zodat er geen afbeelding komt) via het commando om strepen te trekken in een PDF (dat gaat).
Snappie?
Offline DRUNK - 20/08/2005 13:20
Avatar van DRUNK PHP gevorderde Waarom zou je in een PDF bestand geen afbeeldingen kunnen zetten? Zelf werken wij hier met PDFLib waar dit ook mooi mee te doen is.

Op pagina 14 van readme.pdf, welke zit bijgesloten in de src van R&OS staat een methode uitgelegd: ezImage(image,[padding],[width],[resize],[justification],[array border]). Ik denk dat het hiermee wel kan lukken.

succes!
Offline Frederic - 20/08/2005 13:47
Avatar van Frederic PHP ver gevorderde
Citaat:
Waarom zou je in een PDF bestand geen afbeeldingen kunnen zetten? Zelf werken wij hier met PDFLib waar dit ook mooi mee te doen is.

Op pagina 14 van readme.pdf, welke zit bijgesloten in de src van R&OS staat een methode uitgelegd: ezImage(image,[padding],[width],[resize],[justification],[ar
ray border]). Ik denk dat het hiermee wel kan lukken.

In een gewoon PDF bestand wel, maar aangezien dit in de categorie PHP staat denk ik dat hij de PDF's genereert met PHP, en via die methode kan je geen afbeeldingen toevoegen
Offline DRUNK - 20/08/2005 14:00 (laatste wijziging 20/08/2005 14:06)
Avatar van DRUNK PHP gevorderde En ik zeg dat dat wel kan, vertel mij dan eens waaron het niet zou kunnen?

- Bekijk de handleiding van PDFLib op php.net (http://php.net/pdf/)
- Lees dit: http://fpdf.org/nl/doc/image.htm
- Lees de R&OS readme

Als je dit heb gedaan en er zeker van bent dat je dmv. PHP geen images in PDFjes kunt plaatsen mag je mij uitleggen waarom niet.

Sorry beetje offtopic, maar wel leerzaam ;)


@thomas: http://fpdf.org/en/script/script5.php << mischien ook wel handig, ik weet dat je een ander systeem gebuikt voor het generen van je PDF's maar 't is mischien een optie.
Offline thomas___ - 20/08/2005 16:25 (laatste wijziging 20/08/2005 16:26)
Avatar van thomas___ PHP interesse @drunk (2), ik zal deze extra link eens bekijken.
ik heb idd de readme bekeken en deze code gevonden, maar het probleem staat hieronder wat duidelijker(hoop ik ) geschetst.

Je kan idd een foto invoegen in je pdf, maar dan moet deze al ergens op de server staan.
Wat ik liefst zou willen is, dat de barcode getekend wordt via de teken-commands van je pdf-maker.
Nu heb ik eigelijk een script die de barcode aanmaakt en in je browser toont via header... Ik zou dit gewoon willen veranderen zodanig dat de foto niet getoond wordt, maar in een pdf kan ingevoegd worden. Eenmaal de pdf aangemaakt, weer verwijderd wordt.

Alvast bedankt!
Thomas
Offline DRUNK - 20/08/2005 16:54 (laatste wijziging 20/08/2005 17:13)
Avatar van DRUNK PHP gevorderde Dit is niet zo moeilijkt te doen. Eerst genereer je gewoon de barcode,
je laat deze niet direct met header() naar de browser te sturen maar
slaat deze op in een file (zie http://nl2.php.net/manual/nl/function.imagepng.php/) scrijven
op de server (./tmpBarCode.png ?).

Nu de barcode als image op je server bekend is kun je eenvoudig de image
in een PDF bestand gebruiken, als de afbeelding succesvol inde PDF verwerkt
is kun je de tijdelijke image verwijderen van de server.

De onderstaande code zal zeker niet werken maar geeft het idee weer hoe je dit kunt aanpakken.

  1. <?php
  2.  
  3. // ...
  4.  
  5. // Barcode genereren
  6. $barcode = new barCode($type, $x, $y, $value);
  7. // Barcode naar tmpBarCode.png schrijven
  8. $image = $barcode->outputToFile('PNG', './tmpBarCode.png');
  9.  
  10. // Nieuw PDF document
  11. $pdf = new pdf('A4');
  12. // Tekst aan pdf toevoegen
  13. $pdf->addText('stukje tekst in PDF', 'left');
  14.  
  15. try {
  16. // Probeer tmpBarCode.png in $pdf toe te voegen
  17. $pdf->addImage('./tmpBarCode.png');
  18. }
  19. catch (PDFException $e) {
  20. // ALs het toevoegen van tmpBarCode.png niet lukt een fout genereren.
  21. std::newError($e);
  22. }
  23. // Afbeelding is toegevoegd, nu verwijdereen ...
  24. unlink('./tmpBarCode');
  25.  
  26. // ...
  27.  
  28. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.31s