Печать этикеток Avery 5160 с помощью FPDF - PullRequest
3 голосов
/ 23 ноября 2011

Я скачал 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');

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Я недавно использовал FPDF для создания пользовательских меток для работы.Чтобы они соответствовали используемым мной ярлыкам, мне пришлось отключить Page Scaling в диалоговом окне «Печать» перед печатью.Не знаю, решит ли это вашу проблему, но стоит попробовать.

0 голосов
/ 27 августа 2014

это то, что мне нужно, чтобы исправить проблемы с масштабированием

Change $ 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, и для него нужно установить масштаб до фактического размера вместо масштаба, чтобы поместиться в диалоговом окне принтера.

...