Я загрузил 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 для создания некоторых пользовательских ярлыков для работы в последнее время. Чтобы заставить их соответствовать ярлыкам, которые я использовал, перед печатью мне пришлось отключить масштабирование страницы в диалоговом окне «Печать». Не знаю, решит ли он вашу проблему, но это стоит того.
это то, что мне нужно, чтобы исправить проблемы масштабирования
Изменить $ pdf-> AddPage (); до $ pdf-> AddPage ('P', '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, и установите ее для масштабирования до фактического размера, а не масштаба, чтобы он соответствовал диалоговому окну принтера.