HTML'yi RTF'ye dönüştürmek için OpenOffice'i komut satırından kullanın


8

Cygwin'de HTML dosyalarını RTF'ye dönüştürecek bir bash betiği oluşturmaya çalışıyorum. OS X'te bu önemsiz textutilsolmakla birlikte , normal Linux veya Cygwin için mevcut değildir. Bunun yerine OpenOffice'i komut satırından kullanmaya çalışıyorum.

OpenOffice'in normal olarak yüklü bir programla başsız çalıştırabildiğini başka yerlerde okudum /usr/bin/ooffice, ancak Windows altında Cygwin'de bu açıkça çalışmıyor - OpenOffice yükleyicisi yerel Cygwin sembolik yapıları oluşturmuyor ve hatta Windows eşdeğerini bile yüklemeyebilir ooffice.

HTML dosyalarını RTF dosyalarına dönüştürmek için OpenOffice'i Cygwin'deki komut satırından nasıl kullanabilirim?

Yanıtlar:


4

unoconvOpenOffice / LibreOffice'in desteklediği herhangi bir dosya formatından ve herhangi bir dosya formatından dönüşümü sağlayan oldukça kullanışlı bir kabuk betiği vardır . Bu konuda kendi sitesinde okuyabilir ve man sayfasını kontrol ettiğinizden emin olun . Pek çok dağıtımın, bunun için kolayca yükleyebileceğiniz, cygwin dahil, inanıyorum.

Kurduktan sonra, sizin durumunuzdaki kullanım bir giriş html dosyası ve bunun gibi bir çıkış rtf dosyası belirlemek anlamına gelir:

unoconv file.html file.rtf

Hepsi tamam :)

Tabii ki, bu çoklu dosya durumlarını da ele almak için yazılmış olabilir. Kullanıyorsanız zsh, html dosyalarının tamamını içeren bir klasörü dönüştürmek için böyle bir şey çalıştırabilirsiniz:

for file in *html; do
    unoconv "$file" "${file/html/rtf}"
done

@Andrew, faydalı bulursun umarım, ama tamamen yeni değildir. Projenin git depo 2007 yılına dayanmaktadır ve bu onlar göç bazı sürümünün üzerine kontrol sisteminden bir ithalat oldu.
Caleb

Hmm. Bakarken bunu özledim. Yakın zamanda ortaya çıkan LO 3.6.x üzerinde OS X üzerinde sıfır konfigürasyonla çalışmaktan bahsettiğinden beri yeni olduğunu varsaydım. Ne olursa olsun, bu harika :)
Andrew 2

6

JODConverter'ı öneririm . Bu dönüşüm için OpenDoc Api etrafında bir java sarıcı. Bunun gibi dosyaları dönüştürmenize izin verir:

java -jar jodconverter-cli-2.2.0.jar foo.html foo.rtf

Ayrıca python da mevcuttur .

openoffice SDK DocumentSaver sınıfını bunun yerine kullanmak yerine :

java -classpath .;./bin;\
                $OO/program/classes/jurt.jar;\
                $OO/program/classes/ridl.jar;\
                $OO/program/classes/sandbox.jar;\
                $OO/program/classes/unoil.jar;\
                $OO/program/classes/juh.jar  \
    DocumentSaver uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager  file:///C:/test/foo.html file:///C:/test/foo.rtf

1
Bunun bir varyasyonuyla devam ettim. İlk önce Python ile gittim ve OpenOffice'i arkaplan sunucusu olarak çalıştırdım. Sonra Pyth'i ( pypi.python.org/pypi/pyth ) tamamen Python tabanlı bir dönüştürücü buldum . Minimalist ama harika çalışıyor.
Andrew,

Hala OOo'yu kurmanız mı gerekiyor yoksa "sarmalayıcı" kitaplıkları gereken her şeyi içeriyor mu? Açıkça bahsetmiyorum. Teşekkürler.
humble_coder 19:11

1

Sorunuzun ilk bölümünde size yardımcı olabilirim. İşte OpenOffice'i Cygwin komut satırından çalıştırmanın bir örneği:

/cygdrive/c/Program\ Files/OpenOffice.org\ 3/program/soffice.exe -help

Bu size komut satırı argümanlarının bir listesini verecektir. Dosya türlerini dönüştürecek hiçbir şey görmedim, hatta "Farklı Kaydet" bile görmedim, ancak API'yi araştırmadım. Belki o kısmı doldurabilirsiniz. OpenOffice.org 3.2 320m12 var (Yapım: 9483).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.