Foros del Web » Programando para Internet » PHP »

Imprimir directamente un PDF sin abrirlo

Estas en el tema de Imprimir directamente un PDF sin abrirlo en el foro de PHP en Foros del Web. Hola, espero alguien me pueda ayudar: Mi problema es que necesito imprimir un archivo PDF de una página de internet que al darle clic en ...
  #1 (permalink)  
Antiguo 09/07/2010, 08:29
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Sonrisa Imprimir directamente un PDF sin abrirlo

Hola, espero alguien me pueda ayudar:



Mi problema es que necesito imprimir un archivo PDF de una página de internet que al darle clic en un botón se imprima el PDF sin necesidad de abrirlo, que lo mande directo a la impresora. Si alguien sabe como hacerlo les agradecería me dijeran como se hace, no importa en cual lenguaje, ya sea JavaScript, PHP, etc.



Tengo un código en PHP pero no me funciona, no me marca error pero baje un programa que se llama CyberPrinter y ahi si me lo registra me dice que se mando a imprimir pero realmente no imprime el documento PDF.



Les agradecería toda la ayuda posible, Gracias



aquí el código que probé:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Documento sin t&iacute;tulo</title>

</head>

<body>

<?php 

function print_file($filename)

{

    
// path to your adobe executable

    
$adobe_path='"C:\Archivos de programa\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"';

 
$filename="C:\A1.pdf";

    
$ext='';

    
$ext=strrchr($filename,'.');

    
$ext=substr($ext,1);

    
$ext_xl=substr($ext,0,2);

    if (
$ext=='pdf') {

        
shell_exec ($adobe_path.' /t '.$filename);

    }

    else if (
$ext=='doc'||$ext=='rtf'||$ext=='txt') {

        
$word = new COM("Word.Application");

        
$word->visible true;

        
$word->Documents->Open($filename);

        
$word->ActiveDocument->PrintOut();

        
$word->ActiveDocument->Close();

        
$word->Quit();

    }

    else if (
$ext_xl=='xl') {

        
$excel = new COM("Excel.Application");

        
$excel->visible true;

        
$excel->Workbooks->Open($filename);

        
$excel->ActiveWorkBook->PrintOut();

        
$excel->ActiveWorkBook->Close();

        
$excel->Quit();

    }

}

// example of printing a PDF

print_file("C:\A1.pdf");?>

</body>

</html>
  #2 (permalink)  
Antiguo 09/07/2010, 08:56
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir directamente un PDF sin abrirlo

¿A ti te gustaría que *cualquier* página de internet pudiese enviarte archivos a imprimir, así como así y sin posibilidad de decidir? No, ¿verdad? Piénsalo por un segundo y verás que es una muy mala idea.

No digo que no tengas motivos reales y específicos para querer hacerlo, pero no es algo que una página web te permita. Quizás lo logres mediante ActiveX, aunque en eso no te puedo ayudar.


Saludos.
  #3 (permalink)  
Antiguo 10/07/2010, 11:01
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Sonrisa Respuesta: Imprimir directamente un PDF sin abrirlo

Si entiendo, pero desgraciadamente es un requisito que me piden, que para imprimir un PDF a través de un botón y que imprima sin abrirlo. Gracias por responder.
  #4 (permalink)  
Antiguo 10/07/2010, 11:55
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir directamente un PDF sin abrirlo

No pretendo juzgar intenciones, requisitos son requisitos y entiendo perfectamente que en un entorno controlado seguramente sea una función útil.
El problema es que los navegadores no están hechos para entornos controlados y por lo tanto no te lo permitirán, y es el navegador el que en última instancia decide lo que deja que la página haga.


Saludos.
  #5 (permalink)  
Antiguo 12/07/2010, 13:38
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Imprimir directamente un PDF sin abrirlo

Gracias Alvaro por responder. he entendido todo, y pues ni modo si no se puede.

Saludos.

Etiquetas: html, imprimir, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:21.