0
我目前正在使用PHP的PDFLib 9.0.5,并且我正忙于建立一个表格。PDFLib php - 不超过32列
我有一个有34列的大桌子。我要做的第一件事是创建标题行和我有此错误消息
PDFlibException“与消息”在列(一个或多个)小区33和行(多个)1:在功能pdc_bvtr_setbit非法数组索引32
我用32列进行了测试,没有问题。如果我用来创建该行的数组大于32个元素,我得到了错误。
我认为这可能是由于我的pdf中缺少空格,所以我增加了pdf的宽度,但它没有改变任何东西。
这里是一个触发错误的代码:从莱纳评论
foreach($this->headerTable as $index=>$text)
{
$currentOption=$optlist;
if(is_int($index))
{
$currentColorString=(($col%2)==0)?$alternateWhiteColorString:$whiteColorString;
$currentOption.=(in_array($index,array(2,3)))?' fittextflow={orientate=west}':'';
$currentOption.=($index==5)?' fittextflow={stamp=ll2ur}':'';
$currentOption.=(in_array($index,array(0,1,4)))?' fittextflow={stamp=ll2ur}':'';
}
else
{
$currentColorString=(($col%2)==0)?$greyColorString:$greyAlternateColorString;
$text=$index.' ('.$text.')';
$currentOption.=' fittextflow={stamp=ll2ur}';
}
$textFlow=PDF_add_textflow($this->pdf,0,$text,$optionHeaderContent);
$this->table=PDF_add_table_cell($this->pdf,$this->table,$col,1,'',$currentOption.' matchbox={fillcolor={rgb '.$currentColorString.'}} textflow='.$textFlow);
++$col;
}
32是一个整数(二进制),所以它是一个可能的库限制。也可能有一个设置,你可以增加这个。为了适应一个页面,33列是相当大的数量,所以创作者可能认为这已经足够了。它会允许你把表格放在单元格内 - 如果是这样的话,那么这可能是一个粗糙的工作 – Graham
@Graham你是对的,在30列之后,它几乎不适合A4页面。但是,如果我增加页面宽度,那么如何解释错误仍然存在? –
@ Benjamin-Lemin这是当前版本的PDFlib 9.0.5中的错误。它应该在下一个版本中修复。 – Rainer