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.