se non ho letto male, sprintf deve essere necessariamente istruito sul numero di campi da formattare, e come secondo argomento può prendere anche un array credo.
Potresti fare una cosa del genere:
Codice PHP:
$pdf = new PDF_Label('500');
$pdf->AddPage();
$text = "";
for($i = 0; $i < count($labels['persona']); $i++)
{
if (strlen($labels['tessera'][$i]) >0)
{
$stringa='';
$stringa .= ($labels['tessera'][$i]!='')?$labels['tessera'].',':'';
$stringa .= ($labels['persona'][$i]!='')?$labels['persona'].',':'';
$stringa .= ($labels['presso'][$i]!='')?$labels['presso'].',':'';
/* e così via per gli altri campi */
$stringa=substr($stringa,0,-1);
$campi=explode(',', $stringa);
$posizioni='';
foreach($campi as $x) {
$posizioni.="%s\n";
}
$text = sprintf($posizioni, $campi);
$pdf->Add_Label($text);
}
}