Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PDF 'generator' oplossing

Pagina: 1
Acties:

  • MyKey
  • Registratie: Augustus 2012
  • Laatst online: 19-11 09:02
Beste GoT'ers,

Binnen het bedrijf waar ik werk werken wij met PHP, op dit moment hebben wij zelf een systeem gemaakt, nu heeft er 1 klant een offerte systeem bij ons aangevraagd, zodat de klant zelf waardes kan invoeren op de website, daarvan wordt dan met berekeningen een PDF van gemaakt.

Nu wilt deze klant best een opgemaakte pdf laten genereren op het moment dat de persoon een offerte inschiet.

Nu lopen wij tegen de beperkingen aan voor het netjes maken van deze pdf's, zoals jullie zelf ook wel weten is dit niet zo fijn werkje.

Wij hebben 'tcpdf', 'fpdi' en 'dompdf' al gebruikt, maar ook hier lopen wij tegen veel beperkingen aan, het werkt net niet helemaal lekker, of bij de ene wordt een call gemaakt naar een externe server, dat willen wij liever niet.

Nu is dus de vraag, hebben jullie nog goede suggesties voor classes die wel goed werken, waar je gewoon nette pdf's mee kan opmaken zonder veel problemen te krijgen?
Wij zijn er een beetje door heen en weten niet precies hoe we nu verder moeten.

Alvast bedankt, ik hoor graag of jullie iets voor ons hebben!

Amateur racer met Trustmaster TMX + Wheelstand Pro


  • Foxl
  • Registratie: Juli 2002
  • Niet online
html2pdf; document opmaken in HTML en daarna omzetten naar PDF. Nog steeds niet ideaal, en de handleiding is niet altijd je-van-het, maar je kunt er vrij complexe PDF's mee in elkaar bouwen.

I'm really easy to get along with, once you people learn to worship me...


  • MyKey
  • Registratie: Augustus 2012
  • Laatst online: 19-11 09:02
Thanks, we gaan eens kijken of we er mee uit de voeten kunnen, mocht er iemand nog een suggestie hebben, ze zijn altijd welkom.

Amateur racer met Trustmaster TMX + Wheelstand Pro


  • ufear
  • Registratie: December 2002
  • Laatst online: 19:12
Je kan met FPDI gewoon een 'template' PDF pakken en daar je data overheen renderen met bijvoorbeeld FPDF/TCPDF, ik heb jarenlang relatiegeschenken/kalenders die er toch meer dan OK uitzien ermee weten te bouwen in ieder geval.

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Gebruik voor dat soort dingen eigenlijk altijd http://www.mpdf1.com/mpdf/index.php en dan de HTML opbouwen volgens 'ouwerwetse' principes en zo min mogelijk css grappen. Best goed te doen, zolang je er maar rekening mee houdt dat je dingen voor papier aan het maken bent en niet voor een infinite scherm.

Driving a cadillac in a fool's parade.


  • storeman
  • Registratie: April 2004
  • Laatst online: 23:04
Ik heb tijden FPDF, wat opzich prima en eenvoudig werkt:
http://www.fpdf.org/

Ook ben ik aan het experimenteren met de module van Zend Framework. Deze is zeer modulair opgezet en is makkelijk uit te breiden. Echter in de basis missen soms wat dingen die je dan zelf moet gaan bouwen.

"Chaos kan niet uit de hand lopen"


  • stephankamp
  • Registratie: April 2009
  • Laatst online: 21-11 15:18
Ik weet niet of je al naar LaTeX/MikTeX hebt gekeken.

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 21-11 15:31

TheNephilim

Wtfuzzle

Er is ook nog dompdf, geen ervaring mee overigens. Heb binnenkort zelf iets nodig waarmee ik PDF'jes kan maken in PHP. Was dus al wat dingen tegengekomen.

  • MyKey
  • Registratie: Augustus 2012
  • Laatst online: 19-11 09:02
Thanks jongens, we gaan even kijken naar jullie suggesties..
Het liefst willen we wel gewoon html/css dingen gebruiken, dit maakt het alleen maar makkelijker

Amateur racer met Trustmaster TMX + Wheelstand Pro


  • Kwastie
  • Registratie: April 2005
  • Laatst online: 21-11 19:24

Kwastie

Awesomeness

wkhtmltopdf, niet PHP specifiek maar deze maakt met een commandline-browser een pdf.

When I get sad i stop being sad and be awesome instead


  • storeman
  • Registratie: April 2004
  • Laatst online: 23:04
MyKey schreef op dinsdag 07 mei 2013 @ 10:33:
Thanks jongens, we gaan even kijken naar jullie suggesties..
Het liefst willen we wel gewoon html/css dingen gebruiken, dit maakt het alleen maar makkelijker
HTML/CSS naar PDF is lastig met PHP, is mijn ervaring. Wellicht dat een commandline tool zoals genoemd een oplossing kan bieden.

"Chaos kan niet uit de hand lopen"


  • Cosca
  • Registratie: Mei 2006
  • Laatst online: 14-11-2023
Wat misschien ook wel een oplossing is: http://xmlgraphics.apache.org/fop/
Hiermee kun je met een combinatie van XML en (inline) CSS prima documenten genereren.

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21:50
wkhtmltopdf heeft ook php wrappers, bijvoorbeeld deze: https://github.com/KnpLabs/snappy

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
storeman schreef op dinsdag 07 mei 2013 @ 10:09:
Ik heb tijden FPDF, wat opzich prima en eenvoudig werkt:
http://www.fpdf.org/

Ook ben ik aan het experimenteren met de module van Zend Framework. Deze is zeer modulair opgezet en is makkelijk uit te breiden. Echter in de basis missen soms wat dingen die je dan zelf moet gaan bouwen.
Let hier mee op dat het in de praktijk een redelijke resource vreter is en onze productie server paar keer onderuit getrokken heeft. Daarna de boel omgebouwd naar mpdf en daarna nooit meer terug gekeken.

Driving a cadillac in a fool's parade.


  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
gezien het een simpele offerte betreft, begrijp ik niet waarom de door jouw genoemde pdf-classes niet voldoen.. ik zelf gebruik FPDF en de UTF-8 extensie hiervan... en heb nog geen problemen mogen ervaren... zoals al gezegd, je kunt hier prima een voorgedefinieerde PDF als basis gebruiken voor opmaak achtige issues zoals een logo enzo...

zou je kunnen omschrijven op wat voor problemen je nu precies stuit?

  • MyKey
  • Registratie: Augustus 2012
  • Laatst online: 19-11 09:02
Het probleem waar mee tegen aan liepen is dat wij geen 'basis' template hebben met lijntjes en logo's in de PDF's, we moesten dus eigelijk altijd van 0 beginnen, als je dan iets hebt waar er een logo links boven staat met 10px naar rechts toe en een stuk naar beneden ben je toch al redelijk snel veel tijd kwijt.

Misschien dat de optie's die wij gebruiken prima werken, alleen gebruiken wij ze op de verkeerde manier? We hebben hier intern geen ervaring, als er bijvoorbeeld basis templates zijn die je zou kunnen pakken en je kan daarop verder werken, zou dat al snel meer tijd besparen dan hoe wij nu werken.

Als jullie ergens iets hebben waar wij 'basis templates' kunnen gebruiken, zou dat ook een prima oplossing kunnen zijn.

Wij zijn nu op zoek naar 1 die voor ons 'gevoel' beter werkt, waar we het liefst gewoon html/css kunnen gebruiken

Edit:
Wat voor ons de ideale situatie zou zijn is: html pagina, klik, pdf en 'klaar', dat zou mooi zijn, we denken ook wel dat dit niet realistisch is, maar alles wat in de buurt komt van dat, zou helemaal top zijn

[ Voor 11% gewijzigd door MyKey op 07-05-2013 11:21 ]

Amateur racer met Trustmaster TMX + Wheelstand Pro


  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Wij hebben ook wel eens met wkhtmltopdf gewerkt, volgens mij is dat de meest veelbelovende optie.

Rustacean


  • TheDevilOnLine
  • Registratie: December 2012
  • Laatst online: 18-11 16:17
Als je echt complexe opmaak wilt, kijk dan eens naar iets al LiveDocx of PHPDocx. Is eigenlijk een manier om word documenten aan te maken, maar deze kan je omzetten naar PDF via de zelfde libraries. Ondersteund ook de mogelijkheid om html te gebriuken (hoewel html -> docx -> pdf niet echt de meest 'schone' oplossing is)

[ Voor 60% gewijzigd door TheDevilOnLine op 07-05-2013 16:30 ]


  • dev10
  • Registratie: April 2005
  • Laatst online: 21-11 13:56
Foxl schreef op dinsdag 07 mei 2013 @ 09:53:
[...] de handleiding is niet altijd je-van-het [...]
Dat is nogal een understatement. Een echte handleiding is er niet, of je moet de paar voorbeelden daartoe aanzien. De wiki is daarnaast ook behoorlijk karig.
Foxl schreef op dinsdag 07 mei 2013 @ 09:53:
[...]maar je kunt er vrij complexe PDF's mee in elkaar bouwen.
Wellicht licht het aan mij, maar ik heb tot nu toe gruwelijk veel ellende gehad met HTML2PDF en complexere PDFs.

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
MyKey schreef op dinsdag 07 mei 2013 @ 11:19:
Het probleem waar mee tegen aan liepen is dat wij geen 'basis' template hebben met lijntjes en logo's in de PDF's, we moesten dus eigelijk altijd van 0 beginnen, als je dan iets hebt waar er een logo links boven staat met 10px naar rechts toe en een stuk naar beneden ben je toch al redelijk snel veel tijd kwijt.

Misschien dat de optie's die wij gebruiken prima werken, alleen gebruiken wij ze op de verkeerde manier? We hebben hier intern geen ervaring, als er bijvoorbeeld basis templates zijn die je zou kunnen pakken en je kan daarop verder werken, zou dat al snel meer tijd besparen dan hoe wij nu werken.

Als jullie ergens iets hebben waar wij 'basis templates' kunnen gebruiken, zou dat ook een prima oplossing kunnen zijn.

Wij zijn nu op zoek naar 1 die voor ons 'gevoel' beter werkt, waar we het liefst gewoon html/css kunnen gebruiken

Edit:
Wat voor ons de ideale situatie zou zijn is: html pagina, klik, pdf en 'klaar', dat zou mooi zijn, we denken ook wel dat dit niet realistisch is, maar alles wat in de buurt komt van dat, zou helemaal top zijn
dan zou ik het als volgt doen: ontwerp een soort "briefpapier" met daarop alles op de posities waar je het wilt hebben... logo, adresgegevens ,etcetera... dat doe je gewoon in bijv. word en print dat dan naar een PDF file... dat is dan je basistemplate... daarna plak je met bijv. FPDF alle variabele elementen op de juiste x-y-posities in die PDF... mocht je een multipage offerte hebben, dan is er ook een mogelijkheid om de tweede en volgende pagina's een andere "achtergrond"-template mee te geven...

stukje voorbeeld:
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
26
27
28
class PDF extends FPDI {
    var $template_pagemain;
    var $template_pagenext;
    var $firstpage = true;

    function Header() {
        if ($this->firstpage) {
            $this->usetemplate($this->template_pagemain);
        } else {
            $this->usetemplate($this->template_pagenext);
        }
        $this->firstpage = false;
    }
}

$pdf =& new PDF();

$pagecount = $pdf->setSourceFile('pdf/template_main.pdf');
$tplidx_pagemain = $pdf->importPage(1);

$pagecount = $pdf->setSourceFile('pdf/template_next.pdf');
$tplidx_pagenext = $pdf->importPage(1);

$pdf->addPage();

.
.
.

Verwijderd

@P.O.Box: Wel jammer dat het stukje voorbeeldcode al gebaseerd is op PHP 4, dan zal de rest vast niet veel beter zijn... :9

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Dan haal je toch gewoon ff de & weg en slaap ineens een stuk beter want dan lijkt het net of het php5 is ;)

Maar de kern van het probleem lijken niet de pdf classes te zijn, maar het gebrek aan 'kennis' hoe je van een template kunt opzetten en herbruiken.

De basis van mpdf is altijd een HTML bestand, wat je kunt parsen voor je het door stuurt naar de pdf creator zelf. (zie bijv. http://mpdf1.com/manual/index.php?tid=366)

Nu kun je paar dingen doen, of zelf even een simpele template parser maken met wat str_replace dingen, of er een systeem als twig aan hangen. of

code:
1
2
3
4
  extract($vars);
    ob_start();
    include($view_template_file);
    return ob_get_clean();


En dan lekker
code:
1
<?= $varname ?>
in je template gebruiken.

Driving a cadillac in a fool's parade.


  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
Verwijderd schreef op dinsdag 07 mei 2013 @ 17:02:
@P.O.Box: Wel jammer dat het stukje voorbeeldcode al gebaseerd is op PHP 4, dan zal de rest vast niet veel beter zijn... :9
lekker belangrijk... de code was niet bedoeld voor copy paste (maar heb het zelf wel gekopieerd uit iets wat al jaren geleden is geprogrammeerd), maar als VOORBEELD
kwaakvaak_v2 schreef op dinsdag 07 mei 2013 @ 17:47:
Maar de kern van het probleem lijken niet de pdf classes te zijn, maar het gebrek aan 'kennis' hoe je van een template kunt opzetten en herbruiken.
idd... en misschien ook wel beetje gebrek aan programmeerkennis/ervaring in het algemeen (niet beledigend bedoeld)... met een paar dagen moet je normaal gesproken bijv. FPDF wel in zoverre onder de knie hebben dat je grotendeels moet kunnen maken wat je wilt maken... en zul je voor de details eventueel dit forum raadplegen (waarmee ik niet wil zeggen dat je niet bij voorbaat dit forum mag raadplegen)...

[ Voor 45% gewijzigd door P.O. Box op 07-05-2013 23:25 ]


  • twisted2000
  • Registratie: Januari 2004
  • Laatst online: 05-03-2021
Gebruik zelf vaker dompdf (http://code.google.com/p/dompdf/wiki/Introduction).

Vrij makkelijk te gebruiken. Maak in html een tabel met de juiste breedte/hoogte en dan kun je alles netjes positioneren en er een pdf van maken.

  • Maaark
  • Registratie: Juli 2008
  • Laatst online: 13:52
Hier ook erg goede ervaringen met dompdf :)

  • JeroenT
  • Registratie: Juli 2001
  • Laatst online: 09-11 23:51

JeroenT

hoi!

Ik gebruik sinds kort ook dompdf. Eerder ook de oplossing met FPDI gebruikt, echter bevalt dit vele malen beter. Templates voor facturatie en contracten worden middels een wysiwyg editor in HTML opgemaakt, vervolgens netjes door een parser gehaald en naar een PDF omgezet.

Daarnaast is FPDI niet meer compatible met het framework waar wij mee werken. (kan ook aan de update naar php 5.4 hebben gelegen)

[ Voor 22% gewijzigd door JeroenT op 28-05-2013 22:13 ]


  • Stephan11117
  • Registratie: Mei 2004
  • Laatst online: 20:18

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Valt in dezelfde categorie als een headless openoffice installatie op je server, maar dan met een prijskaartje van 3k ;)

Driving a cadillac in a fool's parade.


  • mrmartijn
  • Registratie: Augustus 2010
  • Laatst online: 06-11 14:33
Je kan ook postscript leren en ps2pdf aanroepen uit het ghostscript pakket.

http://blog.brixit.nl - Programming, electronics and guitars. http://debestesupermarktpizza.nl - pizza


Verwijderd

Zelf vind ik WkHtmlToPdf erg fijn. Deze recentelijk in een project gebruikt, en is echt by far de best werkende die ik gezien heb. Echter moet deze wel geïnstalleerd worden op de server.
Pagina: 1