public function getLinhaDigitavel()
{
if (!empty($this->campoLinhaDigitavel)) {
return $this->campoLinhaDigitavel;
}
$codigo = $this->getCodigoBarras();
$s1 = substr($codigo, 0, 4) . substr($codigo, 19, 5);
$s1 = $s1 . Util::modulo10($s1);
$s1 = substr_replace($s1, '.', 5, 0);
$s2 = substr($codigo, 24, 10);
$s2 = $s2 . Util::modulo10($s2);
$s2 = substr_replace($s2, '.', 5, 0);
$s3 = substr($codigo, 34, 10);
$s3 = $s3 . Util::modulo10($s3);
$s3 = substr_replace($s3, '.', 5, 0);
$s4 = substr($codigo, 4, 1);
$s5 = substr($codigo, 5, 14);
return $this->campoLinhaDigitavel = sprintf('%s %s %s %s %s', $s1, $s2, $s3, $s4, $s5);
}