Jump to content
php.lv forumi
Sign in to follow this  
jurchiks

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

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

Share this post


Link to post
Share on other sites

@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

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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...)

Share this post


Link to post
Share on other sites

Un nav grūti uzminēt, ka cilvēks ir Linuks desktopists

Šis ir smieklīgākais joks, kādu pēdējā laikā nācies redzēt.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×