【问题标题】:Printing Avery 5160 labels with FPDF使用 FPDF 打印 Avery 5160 标签
【发布时间】:2012-01-04 08:04:04
【问题描述】:

我下载了 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');

【问题讨论】:

    标签: php fpdf


    【解决方案1】:

    我最近正在使用 FPDF 为工作制作一些自定义标签。为了让它们与我使用的标签对齐,我必须在打印前在“打印”对话框中禁用 Page Scaling。不知道它是否能解决您的问题,但值得一试。

    【讨论】:

    • 这似乎是问题所在。有没有办法以编程方式禁用每个 PDF 文件的该功能,这样我就不必每次都记住?
    • stackoverflow.com/questions/4725711/…好像是由读者控制而不是文件所以不知道你能不能
    • 我实际上能够在此期间弄清楚这一点,通过将/ViewerPreferences << /PrintScaling /None >> 添加到对象中的文档中,您可以控制每个 PDF 文件。它应该只适用于 1.7+ 版本的文档,但它在 1.3 版本上对我来说效果很好。感谢您的帮助。
    • 对于将来尝试此操作的任何人,onosenday 的回答和 lukecyca 对 stackoverflow.com/questions/4725711/… 的评论提供了一些将其添加到 PDF 的方法。
    【解决方案2】:

    这是我解决缩放问题所需要的

    改变 $pdf->AddPage(); 到 $pdf->AddPage('P','Letter');

    强制使用 US Letter 而不是 A4

    标签的尺寸不正确:

    $left = 4.7625; // 0.1875" in mm
    $top = 12.7; // 0.5" in mm
    $width = 66.675; // 2.625" in mm
    $height = 25.4; // 1.0" in mm
    $hgap = 3.175; // 0.125" in mm
    $vgap = 0.0;
    

    还要注意从浏览器打印文档有时会缩小使用 PDF 查看器并将其设置为缩放到实际大小而不是缩放以适应打印机对话框。

    【讨论】:

      猜你喜欢
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2022-12-17
      • 2013-07-02
      • 1970-01-01
      相关资源
      最近更新 更多