TCPDF:如何正确设置字体大小

3
我希望使用TCPDF设置一些文本块,但是我在字体大小方面遇到了一些问题。第一个文本块位于x-y / 5-5,并且它的字体大小为5。但它比5还要小。TCPDF中的字体大小与其他尺寸不是相同的单位吗?
$text1 = 'AAAg';
$text1_x = 5;
$text1_y = 5;
$text1_font_size = 5;

$text2 = 'BBBg';
$text2_x = 10;
$text2_y = 10;
$text2_font_size = 10;

$text3 = 'CCCg';
$text3_x = 15;
$text3_y = 15;
$text3_font_size = 15;
// I tried  $pdf->Cell and $pdf->Text... both are doing the same...

网页示例。

2个回答

10

好的,我找到了答案和解决方案。当我们在tcPDF中创建新的PDF文档时,整个文档的尺寸单位可以是毫米、厘米、磅或像素。但字体的单位是点 - pt。

所以解决方案是...

  1. 使用'setPageUnit'设置文档的单位。
  2. 如果我们有像素尺寸,我们必须使用'pixelsToUnits'进行转换。

PHP - tcPDF示例:

$pdf->setPageUnit('pt');
$document_width = $pdf->pixelsToUnits('100');
$document_height = $pdf->pixelsToUnits('100');
$x = $pdf->pixelsToUnits('20');
$y = $pdf->pixelsToUnits('20');
$font_size = $pdf->pixelsToUnits('20');
$txt = 'AAAg';

$pdf->SetFont ('helvetica', '', $font_size , '', 'default', true );
$pdf->Text  ( $x, $y, $txt, false, false, true, 0, 0, '', false, '', 0, false, 'T', 'M', false );

它可以工作了!我不得不使用非常小的单位:mm,你的示例完美地运行了。 - user285594
如何“获取”PageUnit?我已经尝试了getPageUnit()、GetPageUnit()、getBaseUnit()和GetBaseUnit()。 - Coisox

5

在TCPDF中更改字体大小...可使用以下代码设置:

$pdf = new TCPDF();
$pdf->SetFont('Font family', '', font size here);

TCPDF 的默认设置是哪些?


也许我没有说清楚,但请再看看我的问题...这就是我正在做的事情,但出现了问题。因为$x和$y都是5,而字体大小也是5,但它看起来并不像5...;-) - Patrik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接