[PHP] Exporting naar PDF

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

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zijn er programma's die een Word-document of notepad file naar een PDF file kunnen exporten via PHP? Dus die geven je deze code:
<?php
new_pdf....
en dan alles inclusief template
etc...
?>

Ik wil namelijk mijn facturen en overeenkomsten graag in PDF-formaat beschikbaar stemmen per klant (factuur en overeenkomst is per klant anders).

Ik heb gezocht met de search-optie, maar na 5 minuten zoeken heb ik niets kunnen vinden.

En is PDF het beste formaat dat ik hiervoor kan nemen? Er moeten iig plaatjes in factuur en overeenkomst geprint worden, dus .txt files kunnen niet en html-files lijkt me ook niets, omdat die er nooit zo strak als PDF, DOC files uit komen te zien.

De template-file voor de nieuwe pdf-file heb ik nu in Word gemaakt.
Er hoeft maar 1 { insert } vervangen te worden. Dat is dezelfde die gemailed wordt in een e-mailtje met <br>'s... (Meldt het aub even als ik niet duidelijk heb gemaakt wat ik precies bedoel)

Acties:
  • 0 Henk 'm!

Verwijderd

Word lukt niet zoals al op msn, dat is helemala eigen taaltje en daar begrijpt php geen hout van!

Maar er zitten wel, een paar functies in php, waar je php bestanden kan ouputten, net als gdlib (maar dan anders!)

Eerlijk gezegd heb ik nog nooit pdf gemaakt maar hier maybe scrippie die je op weg kan helpen!


##########
<?php
$pdf = pdf_new();
pdf_open_file($pdf, "test.pdf");
pdf_set_info($pdf, "Author", "Uwe Steinmann");
pdf_set_info($pdf, "Title", "Test for PHP wrapper of PDFlib 2.0");
pdf_set_info($pdf, "Creator", "See Author");
pdf_set_info($pdf, "Subject", "Testing");
pdf_begin_page($pdf, 595, 842);
pdf_add_outline($pdf, "Page 1");
$font = pdf_findfont($pdf, "Times New Roman", "winansi", 1);
pdf_setfont($pdf, $font, 10);
pdf_set_value($pdf, "textrendering", 1);
pdf_show_xy($pdf, "Times Roman outlined", 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);
echo "<A HREF=getpdf.php>finished</A>";
?>
###############

Om te outputten

#############
<?php
$len = filesize($filename);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
readfile($filename);
?>
############


Allebei geript van php.net


"Any version of PHP 4 after March 9, 2000 does not support versions of PDFlib older than 3.0.

PDFlib 3.0 or greater is supported by PHP 3.0.19 and later.
"

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar moet je dan alles custom invoeren? Dat is toch werk van minstens 48uur?!
Of is er een snellere/betere manier? En is PDF het beste formaat?

Acties:
  • 0 Henk 'm!

Verwijderd

Ik denk dat dit een tegewaagd onderwerp is voor de meeste tweakers, en het is net als gdlib dat is klieren kloten, tot je goed eind resultaat hebt!

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

1) wat is er mis met Acrobat?
2) html kan wel met htmldoc

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Acrobat kan niet, omdat elke pdf file steeds anders moet zijn. Elke gebruiker heeft een eigen aparte pdf-factuur met bijv. de naam 020720031608-$random-nummer.pdf (unieke naam).

HTMLDoc? Voldoet dat aan wat ik hierboven getyped heb?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

Je kan toch in Word 1 .doc file houden, als template file (.dot?) en die elke keer via Acrobat als PDF printen?

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Verwijderd schreef op 02 July 2003 @ 16:09:
Acrobat kan niet, omdat elke pdf file steeds anders moet zijn. Elke gebruiker heeft een eigen aparte pdf-factuur met bijv. de naam 020720031608-$random-nummer.pdf (unieke naam).
Uhm.... die opmerking slaat echt helemaal nergens op, dat kan namelijk óók gewoon met php :P

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik weet dat het met PHP kan hoor...
Ik heb niet gezegd dat dat niet kan hoor. Maar voor zover ik weet moet je bij Acrobat alles custom invoeren op de pixel nauwkeurig?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

Dat weet je dan dus verkeerd. Het lijkt me handig dat je eerst eens wat rondkijkt en zoekt, voordat je begint te blaten.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Als jullie wat zinnigs hebben antwoord dan niet, en een word document kan je ook niet schrijven want, als je het volgende in een word file zet

"www.t.net"

maakt word er dit van

"
onleesbare zooi verwijderd "


Onleesbaar

[ Voor 97% gewijzigd door chem op 02-07-2003 16:31 ]


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Verwijderd schreef op 02 July 2003 @ 16:30:
Als jullie wat zinnigs hebben antwoord dan niet, en een word document kan je ook niet schrijven want, als je het volgende in een word file zet

"www.t.net"

maakt word er dit van

"
onleesbare zooi verwijderd "


Onleesbaar
dat heet een bestands indeling.
zegt er een wat over nuttige opmerkingen :|

Goed. Mijn tip voor je is dus: Lees eens goed de manual van php.net door, ik heb namleijk het gevoel dat je die tips niet opvolgt, en zo komen we er nooit uit.

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
chem schreef op 02 July 2003 @ 16:29:
Dat weet je dan dus verkeerd. Het lijkt me handig dat je eerst eens wat rondkijkt en zoekt, voordat je begint te blaten.
Doe niet zo arrogant. Blaat niet zo. Ik heb al overal rond gekeken, maar ben niet veel wijzer geworden. Dus vraag ik, moet ik wel naar PDF zoeken of zijn er ook makkelijkere manieren?

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Jah hoor. de makkelijkere manier is om HTML te outputten


* SchizoDuckie blijft voorderest maar uit dit topic weg, want hij heeft het idee dat de kennis van de iets ervarener P&W'ers niet gewaardeerd wordt door de topicstarter

[ Voor 24% gewijzigd door SchizoDuckie op 02-07-2003 16:44 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 18-09 16:24

mulder

ik spuug op het trottoir

Blaat 1
Blaat 2
Blaat 3

De mogelijkheden zijn legio, doe gewoon eens wat moeite.

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is dus waarschijnlijk niet duidelijk. Graag niet meteen zeggen: "doe eens wat moeite" "doe dit, voordat je begint te blaten" etc. Jullie begrijpen gewoon niet precies wat ik precies bedoel.

Zelfs in Acrobat zit een programma die van een Word document een PDF-file kan maken. Maar ik heb voor elke klant een anderen nodig die door een php-script automatisch gemaakt wordt. Ik heb ongeveer 150 klanten, dus handmatig wordt lastig. Het zou ook fijn zijn dat de gebruikers dit direct kunnen opvragen zonder mij dus te hoeven vragen 1 te maken.

Is het mogelijk om met een soort template te werken in PDF? Of wordt dit heel moeilijk?

Papa Eend: Als het PDF helemaal niet wilt lukken zal het inderdaad via HTML moeten...
Nog een idee: Met PNG moet me dit ook wel lukken... hoewel ik ook dit een stuk minder dan PDF vind...

[ Voor 6% gewijzigd door Verwijderd op 02-07-2003 19:05 ]


Acties:
  • 0 Henk 'm!

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 18-09 08:29
Kan je niet via de commandline een word doc naar een pdf om laten zetten en vervolgens die laten downloaden? Mag ik trouwens vragen hoe je aan die .docs komt die zullen ook wel op enig moment gemaakt moeten worden. Is het dan niet mogelijk om ook PDF's te maken?

[ Voor 42% gewijzigd door Eskimootje op 02-07-2003 19:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is alleen mogelijk een normaal word-document naar pdf om te zetten via je eigen computer gewoon. PHP kan geen word-documenten encrypten of decrypten helaas en volgens mij kun je met PDF geen templates gebruiken. Misschien zijn er wel programma's voor die een html-file om kunnen zetten naar een php-script die het als pdf echoot, maar dat denk ik niet.

Nog een keer:
Is het nu duidelijk wat ik precies bedoel?
Stel anders even wat vragen wat je niet precies snapt.
Het is namelijk handig voor elke scripter om te weten hoe je dit precies moet aanpakken (Het printen van mooie grote PDF Files in PHP voor bedrijven)

[ Voor 28% gewijzigd door Verwijderd op 02-07-2003 19:12 ]


Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 18-09 16:24

mulder

ik spuug op het trottoir

Je hebt een webapplicatie? Een klant wil een factuur. Die heb jij als Word document. Daarmee genereer jij op de server een PDF. Die kan de klant downloaden.

En toen.

[ Voor 14% gewijzigd door mulder op 02-07-2003 19:22 ]

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 17-09 16:59

Johnny

ondergewaardeerde internetguru

Verwijderd schreef op 02 July 2003 @ 19:11:
Het is alleen mogelijk een normaal word-document naar pdf om te zetten via je eigen computer gewoon.
"Normaal" en "gewoon" zijn twee uiterst relatieve begrippen. Ik neem aan dat je het over Microsoft Word documenten vanaf versie 97 hebt? Natuurlijk kun je die omzetten op je eigen computer. Er zijn veel verschillende manieren, je kunt ze zelf overtypen, naar een bestand printen en dan hernoemen, of met Adobe software omzetten.
PHP kan geen word-documenten encrypten of decrypten helaas en volgens mij kun je met PDF geen templates gebruiken. Misschien zijn er wel programma's voor die een html-file om kunnen zetten naar een php-script die het als pdf echoot, maar dat denk ik niet.
Wat versta je onder templates, iedere factuur ziet er toch hetzelfde uit, alleen enkele variablen zijn ieder ekeer anders. PHP kun je een hele mooie PDF laten maken die automatisch de variablen vanuit een database of een verzonden formulier invult.
Nog een keer:
Is het nu duidelijk wat ik precies bedoel?
Stel anders even wat vragen wat je niet precies snapt.
Het is namelijk handig voor elke scripter om te weten hoe je dit precies moet aanpakken (Het printen van mooie grote PDF Files in PHP voor bedrijven)
Die laatste opmerking snap ik nier, waarom zou het voor iedere scripter handig zijn om "mooie grote PDF files in PHP te printen voor bedrijven"?

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Don Facundo schreef op 02 juli 2003 @ 19:22:
Je hebt een webapplicatie? Een klant wil een factuur. Die heb jij als Word document. Daarmee genereer jij op de server een PDF. Die kan de klant downloaden.

En toen.
Inderdaad, ik zou de template ook om kunnen zetten naar een ander formaat als PDF, misschien kan PHP daar beter mee omgaan om hem als template te gebruiken.
Johnny schreef op 02 juli 2003 @ 19:25:
[...]


"Normaal" en "gewoon" zijn twee uiterst relatieve begrippen. Ik neem aan dat je het over Microsoft Word documenten vanaf versie 97 hebt? Natuurlijk kun je die omzetten op je eigen computer. Er zijn veel verschillende manieren, je kunt ze zelf overtypen, naar een bestand printen en dan hernoemen, of met Adobe software omzetten.
Ik bedoel dus een gewoon/standaard Word-document.
Johnny schreef op 02 juli 2003 @ 19:25:
[...]
Wat versta je onder templates, iedere factuur ziet er toch hetzelfde uit, alleen enkele variablen zijn ieder ekeer anders. PHP kun je een hele mooie PDF laten maken die automatisch de variablen vanuit een database of een verzonden formulier invult.
Klopt, elke factuur is gebaseerd op de zelfde standaard file en de templates verschillen eens.
Johnny schreef op 02 July 2003 @ 19:25:
[...]

Die laatste opmerking snap ik nier, waarom zou het voor iedere scripter handig zijn om "mooie grote PDF files in PHP te printen voor bedrijven"?
Het is goed om dit als scripter te kunnen, omdat dit een mooi systeem is voor bedrijven door pdf-files te echo'en. Ik bedoelde dus dat mensen die betaald scripten... nou jah, laat dit terzijde.

[ Voor 73% gewijzigd door Verwijderd op 02-07-2003 20:19 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Hmmm... als je de dure pdflib gebruikt kun bijvoorbeeld wel een pdffile inlezen en die aanpassen (bijvoorbeeld tekst erbij zetten) Dus als je dan een template hebt van de factuur hoef je alleen nog maar op de goede plaatsen wat dingen af te drukken.. maarja dat kost 1000 dollar geloof ik. Sowieso kost pdf geld, de normale versie van pdflib (die van 500 dollar) is de meest gebruikte. De versie die bij php zit werkt natuurlijk wel alleen staat er dan over elke pdf die je maakt een grote rode tekst met iets in de trant van "created by pdflib" daar heb je dus helemaal niks aan als je het niet betaalt....

Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Als je op je server Windows draiat, dan is het toch mogelijk om Word aan te roepen met COM? Probeer daar es wat mee dan...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Helaas draait mijn server op Redhat Linux 7.2
Ik ga er morgen even heel druk verder mee bezig en reageer ik even op overige commentaar en tips en vragen.

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 15-09 16:19

alienfruit

the alien you never expected

Ik zie het probleem niet, je pakt die PDFLib voor linux en schrijft een Word reader/writer .so onder linux en laat die praten met PHP. Vervolgenz zorg je dat die reader/writer zijn tekst uitspuugt in een formaat waarbij je variablen kan converten (bijv. Postscript dat lust PDFLib vast ook wel) en vervolgens schrijf je vrolijk het structuur naar PDF. Klaar is kees en dennis :)
PHP kan geen word-documenten encrypten of decrypten helaas en volgens mij kun je met PDF geen templates gebruiken.
Overigens ondersteunt PDFLib ook personalization waarbij je dus blocks kunt laten vervangen door tekst; en dit volgens mij wat je precies wilt. Je kunt dus wel templates gebruiken in PDFLib "variable data processing" (pdf_fill_textblock()) Als je dus geen geld wilt uitgeven aan PDFLib PPS (400$ (400/150=2,66$ per klant) voor één cpu; valt imho prima door te belasten aan je klanten) dan moet je waarschijnlijk toch kijken naar een Word reader/write voor linux die gegevens kan omzetten naar postscript.

[ Voor 35% gewijzigd door alienfruit op 02-07-2003 21:45 ]


Acties:
  • 0 Henk 'm!

  • Carnifex
  • Registratie: Januari 2000
  • Laatst online: 20:24

Carnifex

auch

Die PDF lib kost idd geld. Cpdf niet :)

Ik heb zelf een systeempje gemaakt waarmee je web-based(PHP/MySQL) facturen/klanten/producten kunt aanmaken/wijzigen/verwijderen. Om de boel overal te kunnen printen is er ook de mogelijkheid een PDF te maken van elke factuur. Als je eenmaal met php de 'standaard opmaak' van de factuur hebt gemaakt, kun je er vrij eenvoudig alle klant/product gegevens er tussen zetten. Het is wel even puzzelen, maar er zit een goede handleiding bij, dus dat moet lukken ;)
Ik gebruik de code van http://www.ros.co.nz/pdf . Het idee is simpel: je include 2 bestanden waarin alle PDF functies staan en vervolgens kun je met functies uit je pdf object plaatjes, tekst en lijnen etc toevoegen.
Het lastigste is nog de plaatsbepaling omdat je vaak coordinaten op moet geven, maar dat went wel :P.

Ik heb iig erg veel plezier van de code die Wayne Munro ons geschonken heeft :).
Ik heb ook een simpele website gemaakt om visitekaartjes te maken in PDF. Je kunt een paar tekstregels opgeven (die een vaste plaats hebben) en het lettertype+lettergrootte bepalen. Leuk spul om mee te experimenteren...

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 22:13

pietje63

RTFM

als ik het niet verkeerd heb kun je via php/pdf een plaatje als achtergrond instellen -> maak van je wordt template een plaatje en plak hier jer tekst overheen

verder erger ik me (net als anderen) aan het geblaat in dit topic mensen, alsjeblieft.... vooral opmerkingen als [quote"hotdog"]Ik denk dat dit een tegewaagd onderwerp is voor de meeste tweakers, en het is net als gdlib dat is klieren kloten, tot je goed eind resultaat hebt![/quote] gaan gewoon nergens over... als "klieren en kloten" jouw (hotdog) manier van werken is, ok.... En verder blijkt wel wat we en wat niet te gewaagd is voor de tweakers bij elkaar want vergeet niet dat het idee van dit forum is informatie bij elkaar te brengen; mensen kunnen elkaar aanvullen. En de meeste tweakers weten vast het antwoord niet op deze vraag, maar misschien een paar wel

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

Verwijderd

Als je gegevens van je facturen en klanten omkunt zetten naar XML mag het geen probleem zijn mits je gebruikt maakt van een xsl-fo en fop.

Door middel van stylesheet (xsl) kun je dan de gegevens van xml omzetten naar een pdf doormiddel van een soort compiler FOP genaamd.

Voor meer info bezoek eens http://xml.apache.org/fop/index.html
Pagina: 1