Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态地将pdf中的X&Y位置与尾随的0对齐_Php_Pdf - Fatal编程技术网

Php 动态地将pdf中的X&Y位置与尾随的0对齐

Php 动态地将pdf中的X&Y位置与尾随的0对齐,php,pdf,Php,Pdf,我在php中使用一个pdf生成器,它使用php变量并将它们放入动态pdf中,具体取决于用户输入的内容 其中一个变量是货币,我想将货币末尾的0对齐,而不是像这样 我希望它看起来像这样 Value: 14.00 VAT at 20%: 2.80 Total Value: 16.80 我已经得到了int的长度,但是我想知道是否有一种方法可以动态地调整0,使它也与100和1000一起工作。这是我目前用来设置X和Y坐标值的代码 $pdf->addText(2

我在php中使用一个pdf生成器,它使用php变量并将它们放入动态pdf中,具体取决于用户输入的内容

其中一个变量是货币,我想将货币末尾的0对齐,而不是像这样

我希望它看起来像这样

Value:           14.00
VAT at 20%:       2.80
Total Value:     16.80
我已经得到了int的长度,但是我想知道是否有一种方法可以动态地调整0,使它也与100和1000一起工作。这是我目前用来设置X和Y坐标值的代码

$pdf->addText(230, 200, 8, "Total Value (Exl VAT): ");
$pdf->addText(400, 200, 8, $TotalValue);

$pdf->addText(230, 160, 8, "VAT at " . $VATRate . "%");
$pdf->addText(400, 160, 8, $PaidVAT);

$pdf->addText(230, 140, 8, "Total Value (Inc VAT): ");
$pdf->addText(400, 140, 8, $TotalPaid);

$pdf->addText(230, 120, 8, "Currency: " . $clientCurrency); 
addText函数的值为$x、$y、$fontSize、$text

由于您使用的是单间距字体,因此可以添加如下文本:

$pdf->addText(230, 200, 8, "Total Value (Exl VAT): ");
$pdf->addText(400, 200, 8, str_pad($TotalValue, 10, ' ', STR_PAD_LEFT));

$pdf->addText(230, 160, 8, "VAT at " . $VATRate . "%");
$pdf->addText(400, 160, 8, str_pad($PaidVAT, 10, ' ', STR_PAD_LEFT));

$pdf->addText(230, 140, 8, "Total Value (Inc VAT): ");
$pdf->addText(400, 140, 8, str_pad($TotalPaid, 10, ' ', STR_PAD_LEFT));
     14.00
      2.80
这会将$TotalValue字符串和其他相应的字符串填充为10个字符,用空格填充左侧缺少的字符。所以$TotalValue为14.00,VAT为2.80,打印方式如下:

$pdf->addText(230, 200, 8, "Total Value (Exl VAT): ");
$pdf->addText(400, 200, 8, str_pad($TotalValue, 10, ' ', STR_PAD_LEFT));

$pdf->addText(230, 160, 8, "VAT at " . $VATRate . "%");
$pdf->addText(400, 160, 8, str_pad($PaidVAT, 10, ' ', STR_PAD_LEFT));

$pdf->addText(230, 140, 8, "Total Value (Inc VAT): ");
$pdf->addText(400, 140, 8, str_pad($TotalPaid, 10, ' ', STR_PAD_LEFT));
     14.00
      2.80

那很有效,谢谢你!我花了几个小时的时间试图找到一个解决方案听上去很好:请记住,这个解决方案也是一个适当样式的HTML,与某种HTML2PDF转换器一起使用。我使用dompdf时,几乎不费吹灰之力,效果也很好。使用HTML将允许简单的样式和没有黑客,这也应该适用于不同的字体。我使用的是一家私人公司的一个,工作一样好