hola
01munrra, el error te lo da porque no le estas enviando la variable "variable" a la vista, cuando ejecutas el método
imprimir, así que tienes dos soluciones:
1.- le envías la variable desde el método imprimir:
public function imprimir(){
$data['variable'] = 'algun dato';
$this->load->view('vista',$data);
}
2.- verificas que la variable este definida en la vista, antes de imprimirla:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> Prueba PDF</title>
</head>
<body>
<h1>
<?php echo isset($variable) ?
$variable : 'otra cosa'; ?></h1>
<a href="<?php echo site_url("controlador/imprimir") ?>">Imprimir</a>
</body>
</html>
Además, no es necesario que uses
site_url para crear el enlace, usa en su lugar la función
anchor, ejemplo:
sustituyes esto:
<a href="<?php echo site_url("controlador/imprimir"); ?>">Imprimir</a>
por esto:
<?php echo anchor('controlador/imprimir','imprimir'); ?>