31 Temmuz 2016 Pazar

LibreOffice "headless" Modunda Dosyaları Dönüştürme

 

LibreOffice yazılımı komut satırından başlatarak, çeşitli parametreler atayabilirsiniz. Normal biçimde kullanımlarda, komut satırı parametrelerinin kullanımı gerekli değildir. Genellikle deneyimli kullanıcıların tercihidir.

UNIX-benzeri sistemlerde, LibreOffice yazılımını komut satırından başlatmak için aşağıdaki satır yazılır : 

${install}/program/soffice {parametre}}

Buradaki {install} ifadesini LibreOffice yazılımının kuruluş yoluyla değiştirin (örneğin, ~/office)

{parametre} ifadesi gerektiğinde geçerli komut satırı parametrelerinden biri yazılarak kullanılabiliyor. İşte bu parametrelerden biri olan "--headless" uygulamayı kullanıcı arayüzsüz kullanmanızı sağlar.

Diğer parametrelerden biri olan "--convert-to" ise dosyaları yığın olarak dönüştürebiliyor.

**Bu iki parametre birlikte kullandığında ise komut satırında, desteklenen tüm dosya formatlarını yığın olarak dönüştürebiliyor. 

Bunun için temel komut şudur;

soffice                                                             \
   -env:UserInstallation=file:///tmp/LibreOfficeConversion_${USER}" \
   --headless                                                       \
   --infilter=<filter>                                              \
   --convert-to <TargetFileExtension>:<NameOfFilter>                \
   --outdir /path/to/wherever/you/want                              \
     file_to_convert.xxx


-env:UserInstallation : bu parametre zaten potansiyel olarak çalışan bir GUI varsa çakışmasını engelleyecek ve farklı bir ortam kullanıp ek bir örnek sağlayacaktır.

<TargetFileExtension>  : Libreoffice tarafından desteklenen ve dışa aktarılabilen dosya formatları yazılabilir. Örneğin 'pdf', 'docx', 'xlsx'

<NameOfFilter>  : Önceki hedef dosya uzantısı yanı sıra girdi biçimi eşleşmelidir. Örneğin 'calc_pdf_Export', 'writer_pdf_Export'. Filtrelerin listesi şurada.

--infilter=<filter>  : parametresi isteğe bağlı olarak kullanılabilir. Eğer mümkünse girdi filtre türünü zorlar. Örneğin infilter="Calc Office Open XML"

  *.xcu dosyalarında ki girdi filtre isimleri şurada (API isimleri).  Örneğin MS_EXCEL_95.xcu dosyası şu satırı içerir :
                       
                    <node oor:name="MS Excel 95" oor:op="replace">