OpenOffice連携と連携させるとPDF化ができそうだ。
修正ファイルは以下。
/usr/share/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/OOoDirect/default/openoffice-transform-context.xml
- 変更前
<bean id="openOfficeConnection" class="net.sf.jooreports.openoffice.connection.SocketOpenOfficeConnection" />
- 変更後
<bean id="openOfficeConnection" >
<constructor-arg type="java.lang.String" value="127.0.0.1"/>
<constructor-arg type="int" value="8100"/>
</bean>
OpenOffice連携のためのスクリプトを作成し実行してデーモン化しておく
#!/bin/bash
# Boot open office so that Alfresco can do transforms.
# chkconfig: 2345 55 25
# description: OpenOffice Headless
#
# processname: soffice
# source function library
. /etc/rc.d/init.d/functions
RETVAL=0
VDISPLAY='99'
SOFFICE_PATH='/usr/lib/openoffice.org2.0/program'
SOFFICE_ARGS1="-nologo -headless -display :$VDISPLAY "
SOFFICE_ARGS2='- accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager'
SOFFICE_PIDFILE=/var/run/soffice.bin.pid
XVFB=/usr/bin/Xvfb
XVFB_ARGS=":$VDISPLAY -screen 0 1024x768x24 -fbdir /var/run"
XVFB_PIDFILE=/var/run/xvfb.pid
start_soffice() {
echo -n $"Starting OpenOffice"
$SOFFICE_PATH/soffice $SOFFICE_ARGS1 $SOFFICE_ARGS2 >/dev/null 2>&1 &
[ $? -eq 0 ] && echo_success || echo_failure
pidof soffice.bin > $SOFFICE_PIDFILE
echo
}
start_xvfb() {
echo -n $"Starting Xvfb"
$XVFB $XVFB_ARGS >/dev/null 2>&1 &
[ $? -eq 0 ] && success || failure
pidofproc Xvfb > $XVFB_PIDFILE
echo
}
start() {
start_xvfb
sleep 5
start_soffice
}
stop() {
echo -n $"Stopping OpenOffice"
killproc soffice.bin
echo
echo -n $"Stopping Xvfb"
killproc Xvfb
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
esac