我遇到以下代码问题。我想使用内容(取自某些社区生成器字段)打印到信封的标签。
标签的第一行将包含订阅者的标题,名字和姓氏,这样可以正常工作。我得到了一份完全符合要求信息的PDF文件。
第二行是事物开始变成梨形的。当我尝试在第2行中包含$ faculty而不是我在下面的代码中得到的空字符串时,PDF产生的下载为0字节,Acrobat表示它不是受支持的文件类型。
奇怪的是,如果我不包括第一行,我可以在标签上打印$ faculty。
我以前使用的代码将相同的数据打印到CSV。我只需要转而使用PDF格式。
任何人都知道为什么会这样,并且可以指出我正确的方向?我正在使用的许多领域都有逗号和内容,但这不会有任何区别吗?
干杯!
为清晰起见,请注意:此代码为WORKS。什么不起作用的是当我用'$ 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
答案 0 :(得分: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);