Я использую TCPDF для создания PDF-файлов «на лету» на моем веб-сайте.
Все это хорошо работает, и поэтому я не хочу менять и использовать что-то еще.
Но моя проблема, которую я имею сейчас, заключается в том, что мне нужно включить изображение в файл PDF, который будет иметь неизвестный размер, размеры, соотношение сторон и т. Д.
Моим решением для добавления этого было добавить его в качестве фона в ячейку таблицы или в div и использовать свойство «cover» для добавления изображения.
Это отлично работает в HTML и выглядит так, как я хочу.
Но добавление его в файл PDF приводит к пустой ячейке или пустой div, и никакой фон не добавляется.
Я пробовал использовать оба метода:
$html .= "<div align=\"center\">\n"; $html .= "<table cellpadding=\"0\" cellspacing=\"0\" style=\"width:200px; height:200px; border:2px solid black;\">\n"; $html .= "<tr><td style=\"width:200px; height:200px; background: url(model.jpg) 50% 0 no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;\"></td></tr>\n"; $html .= "</table>\n"; $html .= "</div>\n"; $html .= "<div align=\"center\">\n"; $html .= "<div style=\"width:200px; height:200px; border:2px solid black; background: url(model.jpg) 50% 0 no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;\"></div>\n"; $html .= "</div>\n";
Оба они показывают сплошную границу, но нет фона.
На сайте TCPDF есть один пример добавления фонов, но он добавляет фон, который охватывает всю страницу, чего я не хочу.
Может ли кто-нибудь помочь мне получить эти фоновые изображения в созданном PDF-файле или предложить альтернативный способ добавления изображения в документ, который должен быть фиксированным размером на странице, но где исходное изображение неизвестных размеров и аспекта соотношение?
TCPDF имеет очень ограниченную поддержку CSS. Он не поддерживает все атрибуты.
В настоящее время поддерживаются только следующие атрибуты CSS:
Итак, насколько я могу понять, что вы пытаетесь добиться того, что вы являетесь типичным для достижения, невозможно, и вы не можете добавить фон, если вы не используете этот пример фона TCPDF, который вы не хотите использовать;
Таким образом, альтернативы TCPDF, которые, безусловно, стоит попробовать: domPDF
Я хотел придерживаться TCPDF, поскольку я также использовал это в других местах, и он работал хорошо.
Как мне удалось сделать это, в конце концов, это сделать два раза.
Во-первых, я использовал PHP для изменения размера и обрезания изображения до правильного соотношения сторон для PDF.
Затем, во-вторых, я использовал TCPDF для добавления изображения в качестве стандартного, а не как фоновое изображение.
Теперь все работает отлично и выглядит так, как я этого хочу.