我是一名初级PHP开发人员。 对于客户,我需要将一些字符串放入pdf中。我正在使用FPDI,我喜欢它。 我有一个现有的模板PDF,我需要将一个字符串的每个字符插入一个小图形框(参见图像)。
每个角色必须彼此有2毫米( 8px
大约)。
每个字符串可以有不同的长度,所以我想这样做:
$name = 'namenamename';
$stringcount = strlen($name)-1;
$countspace = $stringcount*2;
//121 = coordinate of first box
for ($x=121; $x <= $x+$countspace; $x = $x+2) {
for ($i=0; $i <= $stringcount; $i++) {
$pdf->SetXY($x, 37);
$pdf->Write(0,$name[$i]);
}
}
这不起作用。这是错误:
最长执行时间为30秒
你能用正确的方法帮助我,并为新手提供良好的解释吗? :)
答案 0 :(得分:0)
也许不是一个很好的解决方案,但你可以用这行代码修改执行时间
set_time_limit($ seconds);
无论如何试一试,但我认为这可能是循环逻辑中的一个错误。
你能准确说出你需要两个第一个字符的坐标,第一个是121 +东西还是121?
答案 1 :(得分:0)
试试这段代码:
$name = 'namenamename'; $string_length = strlen($name); $coordinate = 121; //Give to the variable coordinate the beginning value, in this case 121 for ($i=0; $i < $string_length; $i++){ //make only one loop for the string length so the loop ends when there is no more characters $char = substr($name,$i,1); // this is "the tricky part", with substr you can grab each character with its position in the string $pdf -> SetXY($coordinate, 37); // here you put the coordinate for the character $pdf -> Write(0, $char); // write it $coordinate += 2; // and increment it by two, since the character are two spaces away from each other }希望这会有所帮助..