2008-12-18 7 views
8

Quiero mostrar documentos en mi sitio web. El servidor está alojado en una máquina Debian. Estaba pensando que puedo permitir la carga de documentos de soporte y luego usar una aplicación Linux o una aplicación PHP para convertir el documento en PDF y mostrarlo en una página HTML. ¿Hay alguna API o binario que me permita hacer esto?¿Cómo convertir documentos a PDF en una pila de Linux/PHP?

Respuesta

3

Si se trata de un documento de oficina, una opción sería usar openoffice en modo sin cabeza. Consulte aquí un script de Python que muestra cómo: http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html

Si se trata de otro tipo de documento (por ejemplo, su propio documento XML), entonces tendría que trabajar un poco más. He tenido cierto éxito al usar XSL para definir una traducción al formato de libro de documentos, luego uso las herramientas de docbook para generar el PDF (y varios otros formatos). También puede usar XSL para ir directamente a PDF si necesita un control más preciso sobre cómo se ven las cosas.

0

Un método alternativo es generar un archivo HTML que contiene lo que necesita en el pdf. Luego use htmldoc para convertirlo a PDF.

http://www.easysw.com/htmldoc/

En realidad, es mucho más fácil que la manipulación directa de los objetos en un documento PDF.

1

Puede crear una impresora PDF de impresión a archivo y enviar cualquier cantidad de documentos a la impresora a través de lpr.

function lpr($STR,$PRN,$TITLE) { 

    $prn=(isset($PRN) && strlen($PRN))?"$PRN":C_DEFAULTPRN ; 
    $title=(isset($TITLE))?"$TITLE":"stdin" . rand() ; 
    $CMDLINE="lpr -P $prn -T $title"; 
    $pipe=popen("$CMDLINE" , 'w'); 
    if (!$pipe) {print "pipe failed."; return ""; } 
    fwrite($pipe,$STR); 
    pclose($pipe); 

    } // lpr() 

//open document... 
//read into $source 
lpr($source, "PDF", $title); //print to device 
exit(); 

También HTMLDOC puede convertir su HTML en PDF.

1

Un proyecto relativamente nuevo, llamado phpLiveDocx, puede convertir DOC a PDF (además de una cantidad de otros formatos). Es un servicio basado en SOAP y se puede usar completamente gratis. Para código de ejemplo para convertir DOC a PDF utilizando phpLiveDocx, echar un vistazo a esta entrada del blog reciente:

http://www.phplivedocx.org/2009/02/06/convert-doc-to-pdf-in-php/

Por supuesto, ya que se basa SOAP, que puede ser utilizado en todos los sistemas operativos que soportan PHP :-)