Итак, я пытаюсь сгенерировать PDF автомобильных дисков, используя TCPDF.По сути, текст и изображение всегда должны быть в центре поля.Мне удалось это с помощью позиционирования.Формат должен быть следующим:
AAA <img> BB CCC
Обратите внимание на больший интервал между BB
и CCC
.Расстояние между изображениями в центре одинаково между AA
и <img>
и <img>
и BB
.
Приложение A
Теперь,Моя главная проблема заключается в том, что я могу отобразить следующее (это идеально выровнено и разнесено. Также обратите внимание на больший пробел между BB
и CCC
по сравнению с аналогичным пространством между AAA <img>
и <img> BB
): AAA <img> BB CCC
например
Приложение B
Однако, скажем, я пытаюсь (Неправильный интервал, который должен быть правильно расположен по центру в поле): AA <img> BB CCCC
например
Приложение C
Вот еще один случай, в котором все идет не так:
Проблема теперь заключается в следующем: интервал не очень хороший, так как должен быть один пробел между AA
и <img>
и <img>
и BB
.Между BB
и CCCC
должен быть больший пробел (3 пробела).
Вот ссылка на настоящий онлайн-генератор, который использует Javascript для отображения того, как должен выглядеть вывод: https://brelok.de/#konfigurator
Если вы введете текстовые поля, вы поймете, почему мой PDF не генерируется должным образом.
Вот кодЯ пробовал и который дает вывод Экспонат A :
$x = 80;
$y = 50;
$width = 51.8;
$height = 10.8;
$pdf->Rect($x, $y, $width, $height);
$pdf->cropMark($x, $y, 10, 10, 'TL');
$pdf->cropMark($x + $width, $y, 10, 10, 'TR');
$pdf->cropMark($x, $y + $height, 10, 10, 'BL');
$pdf->cropMark($x + $width, $y + $height, 10, 10, 'BR');
//Country_Image
$country_width = 5;
$country_height = 10.8;
//Images
$pdf->Image('../../images/country/desuthchland-icon.png', $x, $y, $country_width, $country_height, '', '', '', false, 300);
$left_text_x = 85;
$left_text_y = 50;
$middle_img_top_x = $left_text_x + 15.8;
$middle_img_top_y = $y + 0.6;
$middle_img_bottom_x = $left_text_x + 15.3;
$middle_img_bottom_y = $y + 5.1;
$middle_text_x = $middle_img_bottom_x + 4.7;
$middle_text_y = $left_text_y;
$right_text_x = $middle_text_x + 11.3;
$right_text_y = $left_text_y;
//Text
$pdf->Text($left_text_x, $left_text_y, 'AAA', false, false, true, 0, 0, '', false, '', 0, false, 'T', 'M', false ); //Left
$pdf->Image('../../images/bundesland/Baden-Wurttemberg.png', $middle_img_top_x, $middle_img_top_y, 4, 4, '', '', '', false, 300); //Top img mid
$pdf->Image('../../images/plakette/rose.png', $middle_img_bottom_x, $middle_img_bottom_y, 5, 5, '', '', '', false, 300); //Bottom img mid
$pdf->Text($middle_text_x, $middle_text_y, 'B', false, false, true, 0, 0, '', false, '', 0, false, 'T', 'M', false ); //Middle
$pdf->Text($right_text_x, $right_text_y, 'CCC', false, false, true, 0, 0, '', false, '', 0, false, 'T', 'M', false ); //Right
Код работает только для Экспонат A .Но в остальном это просто не работает, так как текст и интервал уже не совпадают.Кроме того, я не могу центрировать весь контент внутри коробки, кроме Приложение A .Я думаю, что мне не хватает какой-то логики здесь и, возможно, сделал некоторое жесткое кодирование.Но я попробовал несколько способов обойти это и не могу понять.