编程语言
首页 > 编程语言> > php-使用FPDF打印Avery 5160标签

php-使用FPDF打印Avery 5160标签

作者:互联网

我下载了FPDF 1.7,并找到了一个基于Avery 5160标准的脚本,该脚本可以自动创建要打印的标签PDF.看起来工作得很好,除了在打印测试页时尺寸不匹配.当我测量为每个标签打印的容器盒时,我确认输入的测量值与打印的内容不匹配.

我似乎看不到脚本有什么问题,还是FPDF不够精确以至于无法解决这个问题?

function Avery5160($x, $y, &$pdf, $text) {
    $left = 4.826; // 0.19" in mm
    $top = 12.7; // 0.5" in mm
    $width = 76.802; // 2.63" in mm
    $height = 25.4; // 1.0" in mm
    $hgap = 3.048; // 0.12" in mm
    $vgap = 0.0;

    $x = $left + (($width + $hgap) * $x);
    $y = $top + (($height + $vgap) * $y);
    $pdf->SetXY($x, $y);
    $pdf->MultiCell($width, 5, $text, 1, 'C');
}

$pdf = new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Helvetica', 'B', 10);
$pdf->SetMargins(0, 0);
$pdf->SetAutoPageBreak(false);
$x = $y = 0;

foreach($arr as $text) {
    Avery5160($x, $y, $pdf, $text);

    $y++; // next row
    if($y == 10) { // end of page wrap to next column
        $x++;
        $y = 0;
        if($x == 3) { // end of page
            $x = 0;
            $y = 0;
            $pdf->AddPage();
        }
    }
}
$pdf->Output('Labels.pdf', 'D');

解决方法:

我最近正在使用FPDF制作一些自定义标签来工作.为了使它们与我使用的标签对齐,必须在打印之前在“打印”对话框中禁用“页面缩放”.不知道它是否可以解决您的问题,但是值得一试.

标签:fpdf,php
来源: https://codeday.me/bug/20191202/2085574.html