Átmenet a meglévő dokumentumok nyitott batch konverziójára

Széles körben ismert, hogy a OpenOffice 2.0 Mi, nyitott alternatívája a Microsoft Office, akkor nyissa létrehozott fájlokat Microsoft Office, majd mentse őket a natív OpenOffice formátumban - zip-archívum, amely a dokumentum XML-fájl megfelelő OpenDocument szabvány az OASIS . Így a meglévő Word-dokumentumok, Excel-táblázatok és PowerPoint prezentációk új formátumba alakíthatók. (A cikk megnyitása nyílt formátumok XSLT a XML.com egy példa egy egyszerű alkalmazást, amely ezeket a funkciókat: XSL -shablon hogy kivonja a főcímeket a diák és a Jegyzetek bemutató fájl és tárolja azokat egy külön fájlban, amit lehetett használni, mint egy tervet annak Ezenkívül az OpenOffice lehetővé teszi az ilyen típusú fájlok exportálását PDF formátumban.

Ha a fájlokat egyidejűleg új formátumra szeretné konvertálni, akkor minden egyes fájlhoz párbeszédablakot kell megnyitnia és feltöltenie. Ha több száz fájlt kell konvertálni, akkor ez a megközelítés nehéz lesz. Mi a teendő, ha nagy mennyiségű Word-dokumentumot, Excel-táblázatot és PowerPoint prezentációt tartalmaz, és le kell töltenie az összes olyan XML-verziót, amely az XML-dokumentumok tartalmát támogatja? Például, ha Massachusetts vagy az IBM?

A Microsoft termékéhez hasonlóan az OpenOffice makró nyelvvel is rendelkezik. Amikor megnyitja az OpenOffice parancsot a Linux vagy a Windows parancssorból, megadhatja, hogy egy adott makró végrehajtásra kerüljön. Ezt a fájlnevet paraméterként is átveheti erre a makróra. Továbbá, ha a -invisible opciót használja az OpenOffice indításakor a parancssorból, a GUI (GUI) nem jelenik meg. Ha mindkét funkciót együtt használja, akkor olyan parancssort kapsz, amely a Microsoft Office fájlt OpenOffice fájlba (vagy Acrobat fájlba) konvertálja GUI nélkül. Most, hogy száz fájlt konvertáljunk, csak egy egyszerű parancsfájl (például Perlben) elegendő ahhoz, hogy száz parancsból vagy parancsfájlból készítsünk parancsokat, amelyek mindegyike egy fájlt konvertál.

(Megjegyzés: A makrók, ami arra ösztönzött, hogy hozza létre ezt a cikket világosan írt OpenOffice 1. x -, de a makró, amit összegyűjtött, már tesztelték az általam OpenOffice 2.0 Windows és Linux ..)

Makrók létrehozása a konverzióhoz

Az alábbiakban felsoroljuk a makrókban szükséges összes eljárást. Az OpenOffice-ban egy makro modul létrehozásához és az eljárások mentéséhez válassza az Eszközök → Makrók, majd a Makrók rendezése, az OpenOffice.org Basic, a Szervező, az Új elemet. Új makro modul jön létre. Nevezze el a MyConversions nevet és zárja be a párbeszédpanelt.

Az új modul megjelenik a makrófa alatt a / My Macros / Standard / MyConversions alatt. az alábbiak szerint:

Válassza ki a MyConversions modult, és kattintson a Szerkesztés gombra. A megjelenő szkriptben a Sub Main és az End Main vonalak sablonként szolgálnak a jövő makróként. Cserélje ki őket a következő kóddal, majd mentse el a modult:

Az OpenOffice Basic nyelv hasonló a VBA-hoz, a makró nyelvhez a Microsoft Office-ban; A VBA hasonló a Visual Basichez, és ugyanaz a BASIC, amely azok számára, akik idősebbek, az első tanult programozási nyelv volt. Nem mentek ezekre a nyelvek egyikére, de ha valami nem világos a szintaxisáról, akkor a válaszokat meglehetősen könnyű megtalálni a Google-lal több lekérdezéssel. Például, fogalmam sem volt arról, hogy miként írhatom ki a Kiválasztás utasítást a SaveAsOOO eljárásban. de megtalálta az összes szükséges információt a Google és az OpenOffice segítségével.

Minden kód három eljárásból és egy funkcióból áll. A SaveAsPDF és a MakePropertyValue eljárás az OpenOffice fórumon található üzenetből származik. A SaveAsDoc eljárás a SaveAsPDF-től csak a MakePropertyValue által átadott paraméterektől különbözik. - az exportszűrő neve. Ha hozzá szeretné adni az eljárás, hogy mentse OpenOffice táblázatokat Excel vagy OpenOffice Impress előadások PowerPoint fájlokat, minden amire szüksége van -, hogy egy példányát egy ilyen eljárások és változtatni a nevét, az export szűrő és kiterjesztése az új fájlt.

A SaveAsOOO eljárással kapcsolatos figyelemreméltó a sokoldalúság. Nem kell meghatározni, hogy mi van a bemeneti fájl - Word dokumentumokat, Excel táblázatokat, vagy egy PowerPoint bemutatót, és nem adja meg a méret az új fájl. Az OpenOffice maga határozza meg mindezt. Amint látja, az egyetlen jelentős különbség az eljárás és a SaveAsPDF között az, hogy hozzáadtam a kódot, amely meghatározza az új fájl megfelelő kiterjesztését.

Az átalakítás elindítása

A parancssorból futtathat makrókat, függetlenül attól, hogy az OpenOffice jelenleg nyitva van-e, vagy már kilépett belőle. Körülbelül ez úgy néz ki, mint a Word fájl OpenOffice formátumba konvertálásához egy Windows számítógépen, két sorba bontva:

A számítógépen soffice.exe fájl nem futtatható keresési útvonalat, úgyhogy meg kell határoznunk a teljes elérési útvonalát - idézőjelbe, mert tartalmaz szóközöket. A "láthatatlan" opció megmondja az OpenOffice-nak, hogy nem kell megjeleníteni az üdvözlőképernyőt, létrehoznia az alapértelmezett dokumentumot, és általában megjelenítenie kell a grafikus felületet. (Ha látni egy listát az összes rendelkezésre álló lehetőségek, megpróbálja elindítani soffice.exe a parancssorból megadásával egyetlen paraméter -?) A makró nevét meghatározott formában, hasonlóan a URL: első útvonal a makró fa a kívánt makrót, akkor a paraméter zárójelben - a fájl nevét amelyet meg szeretnél konvertálni. Nem kell megadnia az új fájl nevét - a makró az eredeti névtől és az elvégzett konverziótól függően maga választja ki.

A Linuxban a parancssorban meg kell adnia egy másik nevet a végrehajtható fájlnak. A telepítő OpenOffice Az Ubuntu ooffice2 fel a fájlt a keresési útját futtatható fájlokat, így nem kell megadnia, amikor futtatja a teljes elérési utat. A makróhívást idézőjelek közé zártam, mert máskülönben a zárójeleket a héj nem megfelelően feldolgozta. Minden más szempontból ugyanazok a makrók, amelyek a fent leírt módon jöttek létre, tökéletesen működtek.

Megpróbáltam több különböző fájlt konvertálni. A teszt mintafájl már több éve velem van olyan programok és szolgáltatások tesztelésére, amelyek Word fájlok XML-be konvertálását javasolják. Ez a fájl használ beágyazott és az egyedi stílusok bekezdések és karakterek, beágyazott felsorolások, képek, táblázatok és a csatlakoztatott sejtek beágyazott Excel táblázatkezelő és néhány más dolog, ami megbotlik a program átalakítására. SaveAsOOO ezzel a fájllal tökéletesen kezeli.

Állítsuk át az MS Office fájlokat

Most, hogy nyílt, többplatformos eszközzel rendelkezik az új és régi (legalább Office 97) MS Office fájlok nyílt szabványú XML dokumentumokká történő konvertálásához, hogyan használhatja ezt az eszközt? A parancssorból futtatható bármi batch módban használható felhasználói beavatkozás nélkül. Hozzon létre egy Perl parancsfájlt, amely a bemeneti fájlok listáját veszi fel, és létrehoz egy batch fájlt vagy shell parancsfájlt egy olyan parancssorból, mint amilyen a fenti, amely egy fájlt egy időben konvertálna. Ha tényleg szüksége van az XML dokumentumra, akkor ez a parancsfájl egyidejűleg kihúzza a zip archívumból, vagyis az OpenOffice fájlból, és ennek megfelelően átnevezheti. A shell parancsfájl, amely ezt teszi, a következő:

Batch fájl Windows rendszerhez:

Ha sok dokumentumot rendszeresen konvertál, akkor minden egyes konverzióhoz az OpenOffice új példányának futtatása jelentősen lassítja az egész folyamatot. A Windows rendszerben a soffice.exe fájl a "gyors indítás" módban indítható el (a "gyorsindító" opcióval); akkor az ezt követően indított konverziók gyorsabban végrehajtódnak. Ezenkívül az "elfogadás" opció használatával megadhatja az Univerzális hálózati objektumok sorát. amely lehetővé tenné, hogy az API kezelje az OpenOffice egy példányát C ++, OpenOffice Basic, Python programból. Java vagy más nyelvek. Ebben az esetben átadhatja a dokumentumneveket az OpenOffice példányban konvertálható API-hívások használatával.

A legizgalmasabb lehetőséget kínál ez a megközelítés, úgy tűnik számomra, nem is küld nekem egy új megtért Word és Excel fájlok XML-alapú formátum OpenOffice, - és az átalakulás a meglévő régi dokumentumok. Hány régi Microsoft Office fájl van? Hány új alkalmazást találna a benne foglalt információ, ha nyílt és dokumentált XML formátumban jelenik meg, és bármilyen XML-eszközt használhat ezen adatok kezelésére? Tekintettel arra, hogy mindez nyílt forráskódú szoftverek használatára van lehetőség mind Windows, mind Linux operációs rendszereken, hatalmas új lehetőségeket kell megnyitnunk.