私は顧客のためのプロジェクトで同じ問題に直面しました。 採用された画像でも、生成された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 = new PDF('P');
これは、72/25.4 = 2.83使用のスケールファクタがあることを意味します。私の文書のほとんどでは私のようなPDF文書を開始します。私はぼやけた画像を得た
$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
TCPDFは代替手段ですが、おそらくそれを聞きたくありません。しかし、ライブラリに関連していない場合には、品質を比較することができます。 –