Jump to content
php.lv forumi

PDF ģenerēšana - kādus tūļus lietojam?


jurchiks

Recommended Posts

Un ko sakiet par šo: https://github.com/barryvdh/laravel-dompdf ?

 

Vajadzība ir ļoti vienkāršs invoice like PDFs. Vajadzība pēc TvNETa PDFā nav. Tas wkhtmltopdf nav par smagu šādai vajadzībai?

 

whtml tieši ģenerē zibenīgi. Man parasti pieredze ar citiem ģenerētājiem, ka tie mēdz lēni ģenerēt.

Labi, pats izpildāmais fails aizņem kādus 25-50MB, bet nu visi php libi parasti ir līdz kādiem N megabaitiem lieli, un tas ir tikai php kods (dompdf ir 10 megas source)

 

wkhtml izskatās, ka ir arī populārāks: https://php.libhunt.com/project/dompdf/vs/wkhtmltopdf

Link to comment
Share on other sites

  • Replies 41
  • Created
  • Last Reply

Top Posters In This Topic

@Mr.Key - tas laravel-dompdf ir tikai wrapperis pašam DOMPDF, un DOMPDF, kā jau teicu, ir sūds. 7. versija tikai pirms 5 dienām iznāca stable, bet kad es viņu pirms nedēļas mēģināju piešķilt, ne 6., ne 7. versijā neizdevās piedabūt img un h1 tagus nostāties vienu otram blakus - ne ar floatiem, ne ieliekot tabulā. 7. versija gan ģenerē diezgan ātri, vismaz 2x ātrāk par 6. versiju, bet tas arī viss.

Edited by jurchiks
Link to comment
Share on other sites

@Kavacky - protams, kompis vainīgs. Kādā sakarā antialiasing un table borderim 1px nobīde?

Man gan nav ne tuvu tik traki, kā Kasspars, bet 1 stūris šajā PDFā - http://webit.lv/test/wkhtml.pdf- katrai otrajai tabulai lien ārā uz zoom=100%.

Ok, nevis kompis, bet softs. Firefox PDF viewerī viss ir stīgā visos % un antialiased bonusā. Chrome tās līnijas izskatās neglītāk par Paint, tāpat arī Adobe Reader izskatās neglītas. Tiesa, tajā Chrome viewerī es tā arī nesapratu, kā darbūt tieši 100%, jo man nekur nerāda zoom līmeni, bet tajā, kas izskatās visnormālāk un varētu būt tuvu 100%, arī ir ok.

Link to comment
Share on other sites

Nu tam Firefox PDF viewerim nevar uzticēties. Daudzi tādus PDF rēķinus vērs vaļā lokāli, nevis caur pārlūku, tāpēc Adobe Reader ir obligāti jāskatās, un ja tas rāda šķībi, tad IR šķībi, vnk Firefox kaut ko tur izskaistina; kārtējo reizi noslēpj problēmu.

Link to comment
Share on other sites

Tas mPDF acīmredzami ir labāks.

 

Un nav grūti uzminēt, ka cilvēks ir Linuks desktopists - redz, problēma ir nevis PDFā, bet ka tev kaut ko nepareizi renderē. Droši vien lieto maksas M$ un esi maksājis Bilam, lops tāds!!! (Sarkasms, bet reāli no pieredzes...)

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

Tā kā visi projekti ir zem ec2 un mūsu projektiem ir pilnas pieejas serverim, uzņēmumā jau vairākus gadus kā lietojam wkhtmltopdf kombinācijā ar xvfb zem ubuntu kastes, pie vienam uzmetam rezultātu uz s3. Renderē ļoti foršā ātrumā, viss tā kā browserī, padod pliku html atpakaļ dabūn s3 saiti uz pdf.

Kods:

<?

  function html2pdf($html){
    $filename = TMP.'pdf-statement-'.date('YmdHis').'-'.uniqid();

    $_html = $filename.'.html';
    $_pdf = $filename.'.pdf';

    file_put_contents($_html, $html);

    $command = system('xvfb-run -a -s "-screen 0 800x600x16" wkhtmltopdf --quiet --orientation "Portrait" --margin-top "1.5cm" --margin-right "1.5cm" --margin-bottom "1.5cm" --margin-left "1.5cm" --page-size "A4" "'.$_html.'" "'.$_pdf.'"');

    $s3 = new Remote_S3;
    $pdf = $s3->upload($_pdf, 'contracts');

    @unlink($_html);

    return $pdf;
  }

 

Lai uzstādītu nepieciešamas pamatlietas proti:

sudo apt-get install wkhtmltopdf xvfb

Nav pats skaistākais kods, toties darbojas.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...