2

特定のサイズの長方形でテキストを引き伸ばす必要があるプロジェクトに取り組んでいます。私はこれのために imagick を試しましたが、いくつかの品質の損失があります。

たとえば、サイズが 203x78 (任意のサイズ) のボックスがあり、「LOREM IPSUM LOREM」(任意のテキスト) というテキストを書きました。このテキストは、フォントサイズに関係なく、他のものに関係なく、指定されたサイズ 203x78 に完全に適合し、品質だけでなく、ボックスに完全に適合する必要があります。

その方法で imagick よりも優れた方法を見つけることができませんでした。まず、ボックスに最も近いフォントサイズで透明なテキストを描画し (確かに小さい)、画像を描画します。その後、私のボックスサイズにサイズ変更します。リサイズするときは、imagickでフィルターを試してみました。小さなサイズのテキストを除いて、このように問題はありません。たとえば。フォントサイズは20pxで、私の特定のボックスサイズは、どの辺でも約1〜3pxの描画よりも大きくなっています。つまり、20px の描画テキスト サイズは 40x18 ですが、私のボックスは 41x20 です。サイズを 41x20 に変更しますが、効果と効果の値がぼやけます。

だから私は自分のテキストをTCPDFで作成し、テキストのサイズを任意のサイズに合わせたいと思っています。フィッティングは、水平と垂直の両方に完全にフィットし、完全に引き伸ばされている必要があります。私が PDF を選択したのは、PDF のテキストがベクトル形式であり、サイズを変更しても損失がないためです。

TCPDF には水平方向のストレッチがありますが、両側でストレッチする方法が見つかりませんでした。

追加情報: ttf ファイルを使用してテキストを作成する必要があります。透過png出力が必要です。水平方向のストレッチは、文字間隔を使用してはなりません。すべての動作は、ADOBE ILLUSTRATOR と同様に、ベクトルのサイズ変更と同じでなければなりません。

イラストレーターは、任意のサイズのテキストのサイズを変更します

試行:これにはphp gdを使用しましたが、imagickよりも品質が非常に悪いです。サーバーphp-cairoをインストールしようとしましたが、できませんでした。これを行うためにinkscapeを検索しましたが、コマンドラインで作業する方法が見つかりませんでした。imagick output>inkscapeを試してベクトルを変換しましたが、完全に失敗しました。私はTCPDF出力を試しました> imagickでサイズを変更しましたが、品質は失敗しました(imagickにはベクトルのサイズ変更機能がありません)

ヘルプ!

4

2 に答える 2

0

私が見つけた方法は、変換を行ってhtmlを出力することです

$pdf->StartTransform();

$pdf->Scale(100,150);

// Output html.
$html=('sample text');
$pdf->writeHTMLCell($w=50, $h=10, $x='', $y='', $html, $border=1, $ln=1, $fill=0, $reseth=true, $align='C', $autopadding=true);


$pdf->StopTransform();
于 2014-11-21T17:15:38.693 に答える