我的項目,爲客戶所面臨的同樣的問題。 即使在僱用圖像的情況下,也會生成pdf文檔中的模糊圖片。
花了我幾個小時,但這是對我有用。
我有一個採取看看代碼,發現有一個比例係數在PDF文檔的構造被設置:
//Scale factor
if($unit=='pt')
$this->k=1;
elseif($unit=='mm')
$this->k=72/25.4;
elseif($unit=='cm')
$this->k=72/2.54;
elseif($unit=='in')
$this->k=72;
else
$this->Error('Incorrect unit: '.$unit);
尺度因子取決於在構造函數中給定的值pdf文檔:
function FPDF($orientation='P',$unit='mm',$format='A4')
默認值是'mm'。在大多數我的文檔的我開始喜歡一個PDF文檔:
$pdf = new PDF('P');
這意味着將有72/25.4 = 2.83使用尺度因子。 當我把我只是用之前的圖像:
$this->Image('path/to/file', 0, 0);
這樣,我得到了模糊的圖像。 也可以讓圖像的寬度在命令
$this->Image('path/to/file', 0, 0, 200); // for a image width 200
這給了我,這是過於龐大的圖像。但是 - 這裏來了絕招 - 當您通過尺度因子除以實際寬度(以我爲例2.83),並把這個在此聲明,它提供了完美清晰的圖像:
$this->Image('path/to/file', 0, 0, 71); // for a image width 200/2.83 = app 71
我希望這也適用於你!
我也有這個問題,你知道嗎?也許我可以問一個不同的方式...如果圖像是100像素×100像素,FPDF寬度和高度用於確保圖像縮放不會發生? – Scott 2013-09-28 01:20:48
TCPDF是一種替代方案 - 儘管您可能不想聽到!你可以嘗試比較質量,但如果它不是庫相關的。 – 2014-03-19 14:07:57