2015-07-13 37 views
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; 
} 
+0

32是一个整数(二进制),所以它是一个可能的库限制。也可能有一个设置,你可以增加这个。为了适应一个页面,33列是相当大的数量,所以创作者可能认为这已经足够了。它会允许你把表格放在单元格内 - 如果是这样的话,那么这可能是一个粗糙的工作 – Graham

+0

@Graham你是对的,在30列之后,它几乎不适合A4页面。但是,如果我增加页面宽度,那么如何解释错误仍然存​​在? –

+0

@ Benjamin-Lemin这是当前版本的PDFlib 9.0.5中的错误。它应该在下一个版本中修复。 – Rainer

回答

1

答:这是在PDFlib中9.0.5的最新版本的bug。它应该在下一个版本中修复。