0

我对以下代码有问题。我想使用内容(取自一些 Community Builder 字段)打印到信封标签。

标签的第一行将包含订阅者的标题、名字和姓氏,这很好用。我得到一份包含所需信息的 PDF。

第二条线是事情开始变成梨形的地方。一旦我尝试在第 2 行中包含 $faculty 而不是我在下面的代码中得到的空字符串,PDF 就会生成 0 字节的下载,并且 Acrobat 说它不是受支持的文件类型。

奇怪的是,如果我不包括第一行,我可以在标签上打印 $faculty。

我正在使用的代码之前将相同的数据打印到 CSV。我只需要它转为 PDF。

任何人都知道为什么会发生这种情况并且可以指出我正确的方向吗?我正在使用的许多字段中都有逗号和东西,但这不会有任何区别吗?

干杯!

为清楚起见,请注意:此代码有效。当我用'$lineTwo = sprintf("%s",$faculty);'替换下面的 $lineTwo 分配时,不起作用的是。或'$lineTwo = "$faculty");"。

foreach($activeSubscribers as $subscriber) {
$title = $subscriber->$fields[0][1];
$firstname = $subscriber->$fields[1][1];
$surname = $subscriber->$fields[2][1];
$faculty = $subscriber->$fields[3][1];          
$institution = $subscriber->$fields[4][1];  
$address1 = $subscriber->$fields[5][1]; 
$address2 = $subscriber->$fields[6][1]; 
$suburb = $subscriber->$fields[7][1]; 
$state = $subscriber->$fields[8][1];        
$postcode = $subscriber->$fields[9][1]; 
$country = $subscriber->$fields[10][1]; 

$lineOne = sprintf("%s %s %s",$title, $firstname, $surname);

$lineTwo = "";              // should have faculty and institution
$lineThree = sprintf("%s",$suburb); // should have address line 1 
$lineFour = "";             // should have address line 2
$lineFive = "";             // should have suburb, state, postcode
$lineSix = "";              // should have country 
4

1 回答 1

0

我想你忘记添加这一行

$text = sprintf("%s\n%s\n%s\n%s", $lineOne, $lineTwo, $lineThree, $lineFour);
$pdf->Add_Label($text);

如果你不想使用 sprintf(),你可以像这样逐行打印

$pdf->Add_Label($lineone);
$pdf->Add_Label($linetwo);

试试这个选项

$pdf->Write(0.2,$lineone);
$pdf->Write(0.2,$linetwo);
于 2013-07-24T05:45:42.700 回答