A partir de ahora, ya no hay excusas sobre lo complicado que puede ser crear
documentos en formato pdf. Usando un pequeño script de apenas unas lineas,
podemos configurar nuestro querido StarOffice,
para que nos cree directamente documentos en formato pdf.
Como vereis es un proceso muy sencillo …
Copiaremos el fichero tclpdf al directorio program donde instalamos
el StarOffice, normalmente sera: /opt/office52/program/, dandole
los permisos oportunos para que se pueda ejecutar cuando se llame desde el
StarOffice:
cp tclpdf /opt/office52/program/
chmod 777 /opt/office52/program/tclpdf
El segundo paso sera editar el fichero Xpdefaults situado en
share/xp3, en mi caso lo que tendre que modificar es el fichero
/opt/office52/share/xp3/Xpdefaults, añadiendole 2 lineas:
debajo de la seccion [devices] :
pdf=GENERIC PostScript,pdf_queue
Y debajo de la seccion [ports] :
pdf_queue=/opt/office52/program/tclpdf
Ahora re-arrancamos el StarOffice, abrimos o creamos un documento, le
damos a la opcion de imprimir, seleccionamos la impresora pdf y
Aceptar,
despues de unos instantes en los que se crea un fichero temporal, nos
aparecera un menu, donde le dicaremos el nombre del fichero pdf que queremos
crear y pulsamos Save. Al cabo de unos instantes ya tendremos el documento
en formato pdf.
Aqui teneis el enlace al fichero tclpdf y a un documento (en formato pdf)
que explica todo este proceso en ingles:
http://www.mandrakeuser.org/downloads/PDFSO.tar.bz2, en esta otra pagina
tambien explica como se hace todo esto en aleman:
http://die.weltherrschaft.de/jschwender/pdf-so.html
Aqui teneis el codigo del tclpdf, programado en tcl/tk,
por lo tanto vamos a necesitar: StarOffice, Tcl/Tk y
ghostscript, que suelen estar disponibles en la mayoria
de las distribuciones Linux de serie.
#!/bin/sh
# \
exec wish “$0″ ${1+”$@”}
#
# tclpdf
#
# this file simply copies input to a random file
# throws up a ‘save as’ for the pdf file and..
# runs ghostscript to convert the file to pdf
# and exits
package require Tk
wm withdraw .
set psfile /tmp/file.[expr rand()]
set fhandle [ open $psfile w ]
while { ! [ eof stdin ] } {
gets stdin st
puts $fhandle $st
}
close $fhandle
set fname [ tk_getSaveFile -title
“Save PDF file as” -defaultextension .pdf ]
if { $fname != “” } {
exec gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite
-sOutputFile=$fname -c save pop -f $psfile
}
exec rm $psfile
exit
Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=779 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.