FPDF en logo, te lage kwaliteit
Waar het fout gaat is, is het moment dat de logo in het PDF-je wordt gezet. Het originele plaatje ziet er goed uit, maar zodra die in de PDF staat ziet het er niet meer netjes uit. Het is gewoon echt slecht te noemen..
De compressie van FPDF staat op false, daar heb ik al naar gekeken ;-)
Alvast bedankt!
Heb je een voorbeeldje van een plaatje en van een gegenereerd pdfje met dat plaatje daarin? En hoe roep je FPDF::Image aan? Bij mij zet hij het lossless in m'n pdfje.
DomPDF
Ook ooit mee lopen kloten, en toen het na een paar uur nog niet lukte overgestapt op Gewijzigd op 01/12/2010 18:51:33 door - Ricardo -
Mijn ervaring met FPDF is dat je de afbeelding beter groter plaatst en dar FPSF de afbeelding op maat maakt. Dan is de kwaliteit veel beter.
Toevallig de laatste weken vaak bezig met FPDF voor het genereren van een dynamische folder op basis van standaard PDF-bestanden (verschillende covers, algemene informatie, tussenblad per serie, etc) in combinatie met een online product-database.
De afbeeldingen van die producten worden op 540*500px geüpload. Door middel van PHPthumb() worden afbeeldingen bewerkt naar 300*300px (PHPthumb houdt zelf aspect ratio in de gaten). Deze worden vervolgens op 21*21mm in de PDF geplaatst.
@Jelmer: Sorry, ik kan een PDF hier niet plaatsen. Ik kan wel de code geven die dat gedeelte doet, zodat je kan zien hoe ik het aanroep:
Code (php)
1
2
3
4
2
3
4
//$width = imagesx($image);
//$height = imagesy($image);
//parent::Image('uploads/logo/'.$details['image'], 30, 20, $width, $height, $ext);
parent::Image('uploads/logo/'.$details['image'], 30, 20);
//$height = imagesy($image);
//parent::Image('uploads/logo/'.$details['image'], 30, 20, $width, $height, $ext);
parent::Image('uploads/logo/'.$details['image'], 30, 20);
Ik heb het op beide manieren geprobeerd maar dat maakt niets uit.. Het plaatje zelf is van goede kwaliteit, als je die in de browser zou laten zien ziet die er gewoon "mooi" uit.
@Elwin, lijkt erop dat we aan een soortgelijk project bezig zijn ;-)
Het is overigens de bedoeling om de PDF te maken in een bepaalde opmaak, die is aangeleverd in PDF (PSD aanwezig). Daarom is gekozen voor fPDF omdat die een pagina kan importeren. Bij die DomPDF kon ik die optie niet 1-2-3 vinden, of het moet nog een beetje vroeg zijn..
Gewijzigd op 02/12/2010 09:04:15 door Chris -
Ook in mijn project wordt er een logo van het bedrijf/de klant geplaatst. Die kunnen de gebruikers zelf inloggen, maar ik heb daarbij wel aangegeven dat het logo van goede kwaliteit moet zijn. PDF/drukwerk is nou eenmaal anders dan web. Ik sla te kleine logo's niet op, middelmatige en goede wel. Bij de middelmatige komt vervolgens wel een waarschuwing. Op dit moment bereken ik dat nog aan het aantal px dat de afbeelding breed is. Misschien dat we dat nog veranderen, mocht blijken dat er te vaak te kleine logo's worden geplaatst.
Om het toch nog een beetje op te vangen wordt het logo ingeladen via PHPthumb, deze zorgt ervoor dat ik altijd een afbeelding van 500*500px krijg waarin het logo, al dan niet verkleind, maar nooit vergroot, altijd linksboven uitgelijnd is (wat een kleine aanpassing in PHPthumb vereist).
Je kan ook nog eens spelen met het aangeven van de hoogte en breedte van de afbeelding in FPDF. Maar die moet je dan wel goed uitrekenen (van px naar de eenheid die je in FPDF gebruikt).
Het is toch raar in dat opzicht dat grote plaatjes geen probleem zijn, maar op het moment dat er een klein plaatje staat hij dat plaatje gaat verpesten?
De oplossing, of work-a-round, lijkt me toch om grotere afbeeldingen af te dwingen: óf bij het uploaden, óf bij het plaatsen in de PDF, óf allebei.
Toch bedankt voor je hulp Elwin, en succes met jouw project ;-)