2013-07-24 28 views
0

我遇到以下代碼的問題。我想要使​​用內容(從某些社區生成器字段獲取)打印到信封的標籤。PHP和FPDF - sprintf不能在某些組合中使用數據

標籤的第一行將包含訂戶的標題,名字和姓氏,並且這可以正常工作。我得到一個PDF完全所需的信息。

第二行是事情開始變成梨形的地方。一旦我嘗試在第2行中包含$ faculty而不是我在下面的代碼中獲得的空字符串,PDF生成的下載爲0字節,Acrobat表示它不是受支持的文件類型。

奇怪的是,如果我不包括第一行,我可以打印$ faculty到標籤上。

我正在使用的代碼先前將相同的數據打印到CSV。我只需要它去PDF。

任何人都知道爲什麼會發生這種情況,並可以指向正確的方向?在我使用的許多領域有逗號和東西,但這不會有什麼區別嗎?

乾杯!

說明爲了清楚起見:此代碼爲WORKS。什麼不行的是,當我用'$ lineTwo = sprintf(「%s」,$ faculty);'替換下面的$ lineTwo賦值。或「$ lineTwo = 「$教師」);」

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

精彩!現在,我人所以使用fpdf。 :)。所以,你想創建pdf格式..對嗎?如果是的話,讓我知道你的代碼細節。上面的代碼沒有完成。這很難幫助。這裏我創建的fpdf示例http://www.sendspace.com/file/mng1z8 –

+0

謝謝!這個文件的完整副本在這裏是一個要點:https://gist.github.com/anonymous/6068106 – Reb

+0

我正在使用他們提供的示例腳本之一,並在其上構建。示例腳本是這樣的:http://www.fpdf.org/en/script/script29.php – Reb

回答

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); 
+0

謝謝,但這條線已經在我的要點。 :( – Reb

+0

$ text = sprintf(「%s \ n%s」,$ lineOne,$ lineThree);只能在lineone和linethree中打印,不要在lineone和linetwo中設置空白字符串值。 –

+0

是的,這就是導致問題的原因。當我將lineOne和lineThree包括在一起時。 – Reb

相關問題