HTML को RTF में बदलने के लिए कमांड लाइन से OpenOffice का उपयोग करें


8

मैं Cygwin में एक bash स्क्रिप्ट बनाने की कोशिश कर रहा हूँ जो HTML फ़ाइलों को RTF में बदल देगा। ओएस एक्स में यह तुच्छ है textutils, लेकिन यह नियमित लिनक्स या सिगविन के लिए मौजूद नहीं है। इसके बजाय मैं कमांड लाइन से ओपनऑफिस का उपयोग करने की कोशिश कर रहा हूं।

मैंने कहीं और पढ़ा है कि OpenOffice सामान्य रूप से इंस्टॉल किए गए एक प्रोग्राम के साथ बिना सिर के चल सकता है /usr/bin/ooffice, लेकिन Cygwin में Windows के तहत यह स्पष्ट रूप से काम नहीं करता है - OpenOffice इंस्टॉलर ने देशी Cygwin सिमिलिंक का निर्माण नहीं किया है और शायद विंडोज के बराबर भी स्थापित नहीं हो सकता है ooffice

HTML फ़ाइलों को RTF फ़ाइलों में बदलने के लिए मैं Cygwin में कमांड लाइन से OpenOffice का उपयोग कैसे कर सकता हूं?

जवाबों:


4

एक बहुत ही आसान शेल स्क्रिप्ट है, जिसे unoconvOpenOffice / LibreOffice का समर्थन करने वाली किसी भी फ़ाइल प्रारूप से और किसी भी फ़ाइल प्रारूप में परिवर्तित किया जाता है। आप इसके बारे में इसकी साइट पर पढ़ सकते हैं और मैन पेज को देखना सुनिश्चित कर सकते हैं । कई डिस्ट्रोस के पास इसके लिए पैकेज हैं, जिन्हें आप आसानी से स्थापित कर सकते हैं, जिसमें मुझे विश्वास है, साइबरविन।

एक बार जब आप इसे स्थापित कर लेते हैं, तो आपके मामले में उपयोग का अर्थ होगा एक इनपुट html फ़ाइल और इस तरह से एक आउटपुट rtf फ़ाइल निर्दिष्ट करना:

unoconv file.html file.rtf

सब कुछ कर दिया :)

बेशक यह कई फ़ाइल स्थितियों को संभालने के लिए स्क्रिप्ट किया जा सकता है। यदि आप उपयोग कर रहे हैं zsh, तो आप HTML फ़ाइलों के संपूर्ण फ़ोल्डर को परिवर्तित करने के लिए कुछ इस तरह से चला सकते हैं:

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

@ और मुझे उम्मीद है कि आप इसे उपयोगी पाएंगे, लेकिन यह बिल्कुल नया नहीं है। परियोजना की Git भंडार दिनांकों 2007 तक वापस, और है कि कुछ अधिक संस्करण नियंत्रण प्रणाली है कि वे से पलायन से एक आयात किया गया था।
कालेब

हम्म। मैंने देखा कि जब याद किया। मैंने मान लिया कि यह तब से नया था जब उसने LO 3.6.x पर OS X पर शून्य कॉन्फ़िगरेशन के साथ काम करने का उल्लेख किया था, जो अभी हाल ही में सामने आया था। भले ही, यह भयानक है :)
एंड्रयू

6

मैं JODConverter का सुझाव दूंगा । यह रूपांतरण के लिए OpenDoc Api के आसपास एक जावा आवरण है। आपको इस तरह से फ़ाइलों को परिवर्तित करने की अनुमति देता है:

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

यह अजगर में भी उपलब्ध है ।

इसके बजाय Openoffice SDK DocumentSaver वर्ग का उपयोग इस तरह से करें:

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
मैं इसी के एक बदलाव के साथ आगे बढ़ा। सबसे पहले मैं पायथन के साथ गया और ओपनऑफिस को एक बैकग्राउंड सर्वर के रूप में चालू रखा, लेकिन फिर मैंने प्यिथ ( pypi.python.org/pypi/pyth ) पायथ -आधारित कनवर्टर को पाया। यह न्यूनतर है, लेकिन यह महान काम करता है।
एंड्रयू

क्या आपको वास्तव में ओओओ स्थापित करने की आवश्यकता है, या "रैपर" पुस्तकालयों में आवश्यक सभी चीजें शामिल हैं? मुझे कोई स्पष्ट उल्लेख नहीं दिखता। धन्यवाद।
humble_coder

1

मैं आपके प्रश्न के पहले भाग के साथ मदद कर सकता हूं। यहाँ CyOwin कमांड लाइन से OpenOffice चलाने का एक उदाहरण दिया गया है:

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

यह आपको कमांड लाइन के तर्कों की एक सूची देगा। मैंने ऐसा कोई भी नहीं देखा जो फ़ाइल प्रकारों या यहां तक ​​कि "इस रूप में सहेजें" में परिवर्तित हो, लेकिन मैंने एपीआई पर शोध नहीं किया। शायद आप उस हिस्से को भर सकते हैं। मेरे पास OpenOffice.org 3.2 320m12 (बिल्ड: 9483) है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.