Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/06/2013, 08:59
jpao24
 
Fecha de Ingreso: julio-2011
Mensajes: 6
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Ajax + codeigniter + tcpdf

Hola y gracias de nuevo, ya habia probado lo que me comentaste y tampoco ha solucionado el problema, a continuación te muestro todo lo que estoy haciendo:

en la vista
Código:
<img src="images/pdf.png" title="Generar Reporte en PDF" onclick="cargarReporte('reporte','<?=$titulo?>','<?=$fil?>','_vehiculos/c_vehiculos/reporte');" />
la funcion javascript:

Código:
function cargarReporte(tabla,titulo,filtro,url)
{
	tb=document.getElementById(tabla);
	rows=tb.rows.length;
	cols=tb.rows[1].cells.length;
	data=new Array();
	headers=new Array();
	c=0;
	for (i=0;i<cols;i++)//columnas de la tabla
	{
		if(document.getElementById('check'+i).checked)
		{
			
			texto=tb.rows[1].cells[i].innerHTML;
			headers[c]=texto.substr(texto.lastIndexOf('>')+1);
			c++;
		}
	}
	document.getElementById('headers').value=headers;
	datos="filtro="+filtro+
	'&headers='+headers+'&titulo='+titulo;
	/*document.getElementById('form_rep').src=url;
	document.getElementById('form_rep').submit();*/
	var a= new Ajax();
	a.open("POST",url,false);
	a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	a.send(datos);
	window.open(a.responseText,"Reporte","","_blank");
}
y en el controlador:

Código:
function reporte()
	{
		$archivo="images/example.pdf";
		
		//Datos de consulta
		$titulo=$this->input->post("titulo");
		$cols=$this->input->post("headers");
		$headers=explode(',',$cols);
		$filtro=$this->input->post("filtro");
		$lista=$this->m_vehiculos->cons($filtro);
		$this->load->library('pdf');
		//Datos del documento
		$this->pdf->SetCreator(PDF_CREATOR);
		$this->pdf->SetAuthor('CDA Motocesar');
		$this->pdf->SetTitle($titulo);
		$this->pdf->SetSubject($titulo);
		//Datos de encabezado
		$this->pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
		$this->pdf->setFooterData(array(0,64,0), array(0,64,128));
		//Cortar la pagina
		$this->pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
		//Añadir la página		
		$this->pdf->AddPage();
		//Codigo HTML
		$html="<p>hola mundo</p>";
		$this->pdf->writeHTML($html, true, 0, true, 0);

		$this->pdf->Output($archivo, 'F');
		echo $archivo;
		//return "images*ci_guia_usuario.pdf";
	}
la url que abre el window.open es:

Código:
http://127.0.0.1/misitio/%3Cdiv%20style=%22border:1px%20solid%20#990000;padding-left:20px;margin:0%200%2010px%200;%22%3E%3Ch4%3EA%20PHP%20Error%20was%20encountered%3C/h4%3E%3Cp%3ESeverity:%20Warning%3C/p%3E%3Cp%3EMessage:%20%20fopen%28images/example.pdf%29:%20failed%20to%20open%20stream:%20Permission%20denied%3C/p%3E%3Cp%3EFilename:%20tcpdf/tcpdf.php%3C/p%3E%3Cp%3ELine%20Number:%207640%3C/p%3E%3C/div%3E%3Cstrong%3ETCPDF%20ERROR:%20%3C/strong%3EUnable%20to%20create%20output%20file:%20images/example.pdf
es decir que el output de tcpdf genera el error y luego si imprime la variable de la ruta.

Ayuda porque ya no se que mas hacer