JODConverter ile Office Dosyaları Arasında Convert İşlemleri
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYtMMPFb' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
JODConverter, farklı office dosyası tipleri arasında dönüştürme işlemleri yapılabilmesine olanak sağlayan güzel bir uygulama. java ile yazılmış olan bu uygulama, OpenOffice'in export/import filtresini kullanarak OpenDocument ve MS Office dosyaları arasında, ya da pdf, flash ve html'e convert işlemleri yapabiliyor. JODConverter'i komut satırından kullanabildiğiniz gibi java uygulamaları için java kütüphanesi olarak, ya da web uygulaması/web servisi olarak da kullanabilmek mümkün.
Yazının devamında, JODConverter hakkında biraz daha bilgi vermek ve CentOS 5.6 bir sistem üzerinde nasıl çalıştırılabileceğinden bahsetmek istiyorum.
İçerik İndexi
Genel Bilgiler
JODConverter'i kullanabilmek için sisteminizde Java ve Openoffice paketinin yüklü olması gerekiyor. Zira -yazının başında da bahsettiğim gibi- java ile geliştirilen bu uygulama dönüştürme işlemleri için openoffice'i kullanıyor. Openoffice gereksinimi nedeni ile sistemde bir masaüstü ortamı gerekiyormuş zannedilebilir ancak Openoffice'i komut satırından kullanılacak şekilde headless modda çalıştırmak JODConverter için yeterli oluyor. İlerleyen bölümlerde hem java hem de headless openoffice kurulumlarına değineceğim.
Desteklenen Convert İşlemleri
desteklenen dönüştürme tiplerinin bir listesi şöyle:
- OpenDocument, MS Office
- PDF
- OpenDocument (Text, Spreadsheet, Presentation) –> PDF
- Word –> PDF; Excel –> PDF; PowerPoint –> PDF
- RTF –> PDF; WordPerfect –> PDF …
- FLASH
- OpenDocument Presentation'dan Flash'a
- PowerPoint'den Flash'a
- RTF'den OpenDocument'e
- WordPerfect'den OpenDocument'e
- HTML
- Herhangi bir formattan html'e
Kurulum
JODConverter taşınabilir bir kütüphane olduğu için herhangi bir kurulum prosedürü bulunmuyor. Download edip herhangi bir dizine koymak yeterli. Ancak Java ve Openoffice kullandığından dolayı öncesinde sisteme bu bileşenleri kurmak gerekiyor.
Sun Java JRE Kurulumu
CentOS sistemlerde Java kurulumu, rpm dosyası üzerinden kolayca yapılabiliyor.
Önecelikli olarak http://java.com/en/download/manual.jsp adresinden sisteminize uygun java RPM paketini download edin:
# wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=48333
Download işlemi sonucu http parametrelerini içeren uzun bir isme sahip bir rpm dosyası sisteme indirilmiş olacaktır. Bu dosyayı anlaşılır olması için aşağıdaki şekilde rename edebilirsiniz.
# mv jre-6u25-linux-i586-rpm.bin\?AuthParam\=1305740506_b2dbc4fe91r19dec123758ae1ca217c95ce9\&GroupName\=JSC\&FilePath\=%2FESD6%2FJSCDL%2Fjdk%2F6u25-b06%2Fjre-6u25-linux-i586-rpm.bin\&File\=jre-6u25-linux-i586-rpm.bin\&BHost\=javadl.sun.com jre-6u25-linux-i586-rpm.bin
Sonrasında dosyaya çalıştırma izni verin:
# chmod +x jre-6u25-linux-i586-rpm.bin
ve çalıştırın:
# ./jre-6u25-linux-i586-rpm.bin
Böylece, java kurulumu tamamlanacaktır. Aşağıdaki komut ile version kontorlü yapabilirsiniz.
# java -version java version "1.6.0_25" Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java kurulumundan sonra, openoffice ile ilgili kurulum işlemlerine geçebiliriz.
Headless Openoffice Kurulumu
Openoffice'in headless denilen modu, herhangi grafik arayüzü gereksinimi olmadan openoffice'in komut satırından kullanılabilmesine olanak sağlıyor. Ayrıca diğer programların bağlanmasına olanak sağlamak için bir port'a bind edilerek network servisi olarak da çalıştırılabiliyor. Zaten JODConverter da openoffice'e bu şekilde -belirlediğiniz bir port üzerinden- bağlanarak işlem yapıyor.
Openoffice'e ait paketler öntanımlı yum depolarında bulunduğundan dolayı kurulum çok kolay. Aşağıdaki yum cümlesi gerekli olan tüm paketleri sisteme yükleyecektir.
# yum install -y openoffice.org-base openoffice.org-headless openoffice.org-writer
Kurulumun sonrasında, headless openoffice servisini başlatmak ve startup'a eklemek için bir init script hazırlıyoruz.
/etc/init.d dizini altında openoffice-headless isimli bir dosya açın:
# vi /etc/init.d/openoffice-headless
Dosya içerisine aşağıdaki satırları ekleyin:
#!/bin/bash
# openoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice
#
# Author: Vic Vijayakumar
# Modified by Federico Ch. Tomasczik
#
OOo_HOME=/usr/bin
SOFFICE_PATH=$OOo_HOME/soffice
PIDFILE=/var/run/openoffice-server.pid
set -e
case "$1" in
start)
if [ -f $PIDFILE ]; then
echo "OpenOffice headless server has already started."
sleep 5
exit
fi
echo "Starting OpenOffice headless server"
$SOFFICE_PATH -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1
touch $PIDFILE
;;
stop)
if [ -f $PIDFILE ]; then
echo "Stopping OpenOffice headless server."
killall -9 soffice && killall -9 soffice.bin
rm -f $PIDFILE
exit
fi
echo "Openoffice headless server is not running."
exit
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
echo “Starting OpenOffice headless server” satırının hemen altında görüldüğü gibi openoffice 127.0.0.1'e 8100. portu dinleyecek şekilde bind ediliyor.
Dosyayı kaydedip çıktıktan sonra, scripte gerekli çalıştırma iznini verebilir ve sistem açılışlarında otomatik olarak yürütülmesi üzere starup'a ekleyebiliriz:
# chmod 755 /etc/init.d/openoffice # chkconfig --add openoffice # chkconfig openoffice on
Şimdi office servisini çalıştırabiliriz.
# service openoffice start
ps ile süreci kontrol ederseniz aşağıdaki gibi bir çıktı alırsınız:
# ps aux |grep office root 18599 0.0 9.0 125808 23072 pts/1 Sl 22:14 0:00 /usr/lib/openoffice.org3/program/soffice.bin -headless -nologo -nofirststartwizard -accept=socket,host=127.0.0.1,port=8100;urp
Herşey yolunda ise JODConverter'i indirebiliriz.
JODConverter
Yazılıma ait dosyalar, http://sourceforge.net/projects/jodconverter/files/ adresinde bulunuyor. Paketin son sürümünü (şu an version 2.2.2) ilgili adresten sisteminize indirin. Ben bu iş için /usr/local/src dizinini kullanıyorum.
# cd /usr/local/src/ # wget http://downloads.sourceforge.net/project/jodconverter/JODConverter/2.2.2/jodconverter-2.2.2.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fjodconverter%2Ffiles%2FJODConverter%2F2.2.2%2F&ts=1305743155&use_mirror=garr
Sonra da zip paketini açın:
# unzip jodconverter-2.2.2.zip
Ve unzip edilen paket içerisindeki lib dizinini /usr/ altına jodconverter ismi ile kopyalayalım:
# cp -pr /usr/local/src/jodconverter-2.2.2/lib /usr/jodconverter
Kurulum bu kadar.
Bundan sonra, ilgili dizin altındaki jodconverter-cli-2.2.2.jar isimli command line converter aracını kullanarak komut satırından dönüştürme işlemleri yapılabilir.
Aşağıdaki örnekler işe yarayacaktır.
Convert İşlemleri
Yazının başlarında, desteklenen convert tipleri ile ilgili tam bir listeyi vermiştim. Bu bölümde ise örnek olması açısından bir kaç dönüştürme işlemine değineceğim.
Word`den PDF`e Convert
Bu işlem için basitçe aşağıdaki komtu verebilirsiniz:
# java -jar /usr/jodconverter/jodconverter-cli-2.2.2.jar dosya.doc dosya.pdf
PDF`den HTML`e Convert
Mantık gene aynı:
# java -jar /usr/jodconverter/jodconverter-cli-2.2.2.jar dosya.pdf dosya.html
Birden Fazla Dosyanın Convert Edilmesi
Örneğin elinizdeki tüm odt dosyalarını pdf dosyasına dönüştürmek için aşağıdaki gibi bir komut kullanabilirsiniz.
# java -jar /usr/jodconverter/jodconverter-cli-2.2.2.jar -f pdf *.odt
Böylece tüm dosyalar ile teker teker uğraşmanıza gerek kalmaz.
Sanırım bu kadar örnek yeterli.
Daha fazla bilgi için aşağıdaki adresi kontrol etmenizi tavsiye ederim.
http://www.artofsolving.com/opensource/jodconverter
Bu yazılar da ilginizi çekebilir:
- CentOS6 Üzerine Oracle Java JDK 1.7 Kurulumu
- Wget – Oracle Java Direct Download
- Centos 5.2 üzerine Red5 Flash Server Kurulumu
- CentOS 5.2 üzerine SUN Java Kurulumu (JDK 1.6)
- FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması
Yorumlar
Henuz yorum yapilmamis.
Yorumda bulunun.