Programiranje pripreme velikih RTF dokumenata za uvoz u Adobe InDesign aplikaciju

Nikola Majstorović, Tomislav Kosić, Milan Tomić

Sažetak

Rad opisuje programiranje prevođenja velikih RTF (Rich Text Format) dokumenata u prikladan oblik sustavu za grafičku pripremu Adobe InDesign. Kao primjer je dan novi Rječnik stranih riječi, autora Bratoljuba Klaića sastavljen od blizu 6 milijuna znakova u 1.5 milijuna riječi s lokalnim formatiranjem preuzet kao izlaz iz produkcijskog sustava SoftLex. Priprema prevođenja je napravljena primjenom vlastitog alata „OzirisToolbox“ razvijenog za detaljno razlaganje velikih MS Word dokumenata u MS Access bazu podataka. Prednost tog pristupa je u velikim mogućnostima detekcije i ispravljanja zaostalih grešaka. Isprobana su četiri načina generiranja ulaza:
a) Primjena svojstva „Stil“ za znakove (CharStyle) po paragrafima iterativno kroz cijeli dokument,
b) Izgradnja čistog RTF dokumenta s odabranim stilom za paragraf i znak (CharStyle, ParStyle),
c) Direktno programiranje InDesign aplikacije za sekvencijalno uvođenje atribuiranog teksta  i
d) Generiranje standardnog formatiranog teksta za uvoz u InDesign (InDesign Markup Language)
Posljednja se opcija pokazala kao najproduktivnija, s velikim mogućnostima iskušavanja na različitim predlošcima krajnjeg dokumenta. Pristup se pokazao korisnim za rječnike, ali nije limitiran za primjenu i kod ostalih vrsta velikih dokumenata. Sam proces je visoko interaktivan i traži dodatno programiranje za svaki pojedinačni slučaj pa je prikladan za velike dokumente od nekoliko stotina pa i tisuće strana teksta. 

Ključne riječi
RTF, InDesign, obrada teksta, programiranje

Programming the preparation of large RTF documents for import into Adobe InDesign application

Abstract

The paper describes programming of translating large RTF (Rich Text Format) documents in a convenient form of prepress systems for Adobe InDesign. Given as an example was the new Dictionary of Foreign Words by Bratoljub Klaić, composed of close to 6 million characters in 1.5 million words with local formatting, taken as the exit from the production system SoftLex. Preparing of the translation was done using our own tools "OzirisToolbox" developed for a detailed decomposition of large MS Word documents into MS Access database. The advantage of this approach is in the great possibilities of detection and correction of residual errors. Four ways of generating inputs were used:
a) Appliance of the feature "Style" for the characters (CharStyle) by paragraphs iteratively throughout the whole document,
b) Construction of a clean RTF document with the selected style for paragraph and character (CharStyle, ParStyle)
c) Direct programming InDesign application for sequential introduction of attributed text and
d) Generation of a standard formatted text for import into InDesign (InDesign Markup Language)
The last option proved to be most productive, with large possibilities for experimentation in a variety of templates of the final document. Approach has proved to be useful for dictionaries, but is not limited for use with other types of large documents. The process itself is highly interactive and requires additional programming for each individual case and is suitable for large documents of several hundreds or even thousands of pages of text.

Key words
RTF, InDesign, word processing, programming

UVOD

Učestalo radimo s tekstovima koji su dijelom ili u potpunosti atribuirani, grafički pripremljeni za tisak. Zbog njegove neovisnosti o platformi i aplikaciji u kojoj je nastao takav dokument često imamo na raspolaganju u formatu RTF (Rich Text Format). Imamo li želju ili potrebu za promjenom oblikovanja takvog teksta, ukoliko nije značajnijeg obima, takav tekst obično bez odlaganja očistimo od oblikovanja pa potom izvršimo ponovno oblikovanje stilom i načinom kako nam odgovara. Iako dokumenti u tiskanom obliku izgledaju gotovo identično, sam opis te atribucije može biti vrlo različit ili čak nekonzistentan. U radu s dokumentom ili skupom dokumenata većeg obima pokušavamo sustavno izvesti te promjene s manje napora i što manje pogreški. Kod obimnih tekstova, u nekim primjerima,opetovane transformacije upotrebom makro procedura i regularnih izraza pokazale su se zamornim i često vrlo kompliciranim. Primjena vlastitih programskih rješenja za kontrolirano prevođenje u nekim od njih pokazala kao primjerenija.

Detaljna analiza atribucije velikih RTF dokumenata

Problemi nastaju pri radu s većim dokumentima u kojima nije sustavno i konzistentno korišten predložak s definiranim stilovima za paragrafe i dijelove paragrafa. Lokalno formatiranje dijelova teksta je teško nadzirati pri manipulaciji s dokumentima kao što je uvoz u DTP (DeskTop Publishing) i tada mogu nastati poteškoće.

Organizacija ulaznih dokumenata

Pothvat programiranja uvoza velikih i intenzivno lokalno formatiranih RTF dokumenata u InDesign aplikaciju za DTP je nastao rješavajući uvoz materijala novog izdanja Rječnika stranih riječi Bratoljuba Klaića. Ulazni dokumenti su nastali kao eksport proizvod iz sustava za produkciju SoftLex. Iako je izvorni materijal podijeljen na manje cjeline (Slika 1), po slovima ipak pojedini dokumenti zauzimaju i po nekoliko stotina stranica, a u izvedbi RTF eksportera svaki je paragraf intenzivno lokalno formatiran bez upotrebe CharStyle stilova.


a
Slika 1. Fragment od početka slova A

Za rješavanje pretvorbe lokalnog formatiranja u stilove i drugih problema kod uvoza MS Word dokumenata postoje i komercijalni alati kao InDesignConverter [6]. Cilj je bio programirati kontrolirani uvoz takovog materijala koji omogućuje i detekciju i ispravljanje drugih eventualnih greški i nedosljednosti u oblikovanju.

Razlaganje ulaznih dokumenata u „Oziris“ bazu podataka

Za čvrstu polaznu osnovu za regeneraciju čistog oblikovanog dokumenta priprema je obavljena upotrebom vlastitog alata „OzirsToolbox“ [9] za razlaganje MS Word dokumenata u MS Access bazu podataka s podatcima o po volji odabranim atributima svih objekata u hijerarhiji od cijelog dokumenta, pojedinih sekcija, paragrafa, riječi pa do pojedinih znakova.(Slika 2.)


a
Slika 2. Atribuirani tekst u "Oziris" bazi podataka

Ovaj je postupak iterativan jer nakon detaljnog uvida tražene atribute do nivoa znaka izvršene sui promjene u eksportnoj specifikaciji i postavkama u sustavu „SoftLex“. Od oko šest milijuna znakova oni s vrlo rijetkom frekvencijom atributa upućuju na moguće greške ili nekonzistentnosti. Od preko milijun i pol riječi (kako se tretiraju u MS Word) njih oko 35 tisuća nisu homogeni u atribuciji. To je zahtijevalo njihovu daljnju podjelu na cjeline token koji su potpuno homogeni ili primjenu lokalnog formatiranja za njih oko 2%, a za ostale može biti uporabljena lista Character stilova.

Programiranje regeneracije dokumenta u prikladnu formu

Kodovi  ilustriraju upotrebu Microsoft Word aplikacije da se programira VBA (Visual Basic for Application) procedure koje otvaraju dva dokumenta: ulazni i izlazni, a dohvat atributa ulaznog i postavljanje atributa ciljnog dokumenta se obavlja direktnom upotrebom svojstava i metoda suglasno sa DOM (Document Object Model) specifikacijom. Korisničke aplikacije pisane su u VB.NET upotrebom Visual Studio 2008 i 2010 IDE razvojne okoline sa VSTO (Visual Studio Tools for Office) [2].

Primjena svojstva „Style“ za znakove (CharStyle) po paragrafima iterativno kroz cijeli dokument

Ovaj pristup je primijenjen prije raščlanjivanja rječnika u bazu podataka. Okvir u proceduri kako pokazuje Slika 3 je mogućnost prolaska kroz izvorni dokument „aDoc“ paragraf po paragraf, a unutar paragrafa riječ po riječ i na osnovu atributa u Range.Font određivanje kako atribuirati tekst koji se za pojedinu riječ dodaje u destinacijski dokument „bDoc“.

a
Slika 3 Izvorni kod – iteracija kroz paragrafe dokumenata

Za dokumente u kojima su od interesa samo nekoliko atributa kao npr. Font.Name, .Size, .Bold, itd. može se jednostavno i efikasno upotrijebiti. Ovim pristupom se može jednostavno programirati i transformacije dokumenata  u kojima logika treba uključivati i kontekst (lagana je inspekcija okoline ispred ili iza ranga koji se transformira). U našem slučaju mnogo riječi nije bilo homogeno po atribuciji, a i broj atributa koji se prate je veći pa se pristupilo detaljnom raščlanjivanju dokumenata.

Izgradnja čistog RTF dokumenta s odabranim stilom za paragraf i znak (CharStyle, ParStyle)

Nakon raščlanjivanja svih slova dokumenta i tokenizacije došlo se do kolekcije atributa s frekvencijama koje su prepoznate kao kandidati za CharStyle stilove u predlošku dokumenta za ciljni rječnik. Funkciju prema Slici 4 se može pozivati iz MS Access aplikacije [1] ili kao VB.NET aplikacija. Za izvorne stilove se u prvoj „while“ petlji mogu generirati stilovi u destinacijski dokument. Petlja koja prolazi kroz sve tokene na temelju atributa u bazi podataka dodjeljuje CharStyle za dio teksta u ciljni dokument uz mogućnosti dodatnih provjera i postavljanja preciznijih ograničenja. Iz baze podataka se za odabrani dokument upotrebom parametrizranih upita „qdfPars“ i „qdfWD“ stvaraju kolekcije zapisa o paragrafima i tokenima u paragrafu s pripadajućim atributima i svojstvima stila koji se na njih treba primijeniti.


a
Slika 4 Izvorni kod – stvaranje čistog RTF-a

Direktno programiranje InDesig aplikacije za sekvencijalno uvođenje atribuiranog teksta 

Za odabrani dokument se u Access bazi podataka SQL upitima izvršilo kondicioniranje podataka i dodijelili ciljni nadimci za CharSyle stilove u ciljnom dokumentu. Procedurom  ispod (Slika 5.)je u Access VBA projektu izvršena automacija aplikacije InDesign. Uvidom u DOM (Document Object Model) InDesign aplikacije [] i prepoznavanjem respektivnih atributa u bazi, u mjeri dovoljnoj za izgradnju ciljnog dokumenta moguće je punjenje dokumenta izvršiti sekvencijalno paragraf po paragraf.


a
Slika 5 Izvorni kod – programiranje izravno InDesign dokumenta

Generiranje standardnog formatiranog teksta za uvoz u InDesign (InDesign Markup Language)

Za ciljni predložak rječnika početni djelić odabranog slova je interaktivno urađen u InDesign aplikaciji. Napravljen je eksport u ASCII tekst datoteku s atribucijom (Tagged TextFile). Uz konzultaciju široko dostupne literature [] za pisanje koda za sve Adobe produkte, a s obzirom na vrlo jednostavnu i veoma obimnu opetovanu atribuciju, bilo je lako složiti proceduru koja stvara uglađen ulaz za jednostavno i brzo učitavanje u InDesign predložak.


a
Slika 6 Izvorni kod – generiranje InDesign  „tagged“ teksta

Opet su primijenjeni parametrizrani upiti „qdfPars“ i „qdfWD“ u MS Access bazi podataka za stvaranje kolekcije zapisa o paragrafima i pripadajućim nizom tokene za odabrani izlazni dokument. Za CharStyle koji treba primijeniti su prema naputcima i primjerima definirane inicijalizirajuće i terminalne komandne sekvence suglasne sintaksi programa InDesign.
Zadnji pristup se pokazao kao najprikladniji. Kod izmjene u načinu generiranja izlaznog dokumenta najpodesnije je editirati podatke u bazi, a generiranje pojedinačnih slova ili stapanje cijelog izlaznog dokumenta je brzo i jednostavno bez puno manualnog rada.
Za odabrani segment na Slici 7 se vidi sadržaj generirane InDesign ulazne datoteke prema dokumentiranoj sintaksi (Tagged Text File).


a
Slika 7 Primjer – fragment početka slova A

ZAKLJUČAK

U radu je opisano programiranje prevođenja velikih RTF (Rich Text Format) dokumenata u prikladan oblik sustavu za grafičku pripremu Adobe InDesign. Kao primjer je dan novi Rječnik stranih riječi, autora Bratoljuba Klaića sastavljen od blizu šest milijuna znakova u milijun i pol riječi s lokalnim formatiranjem preuzet kao izlaz iz produkcijskog sustava SoftLex. Priprema prevođenja je napravljena primjenom vlastitog alata „OzirisToolbox“ razvijenog za detaljno razlaganje velikih MS Word dokumenata u MS Access bazu podataka. Prednost tog pristupa je u velikim mogućnostima detekcije i ispravljanja zaostalih grešaka. Isprobana su četiri načina generiranja ulaza.
Svaki od iskušanih načina se pokazao korisnim alatom za primijenjenu leksikografiju. Za razne dokumente, a ovisno o načinu na koji je nastajao izvorni materijal, formi, obimu i čistoći,mogući su različiti ishodi njihove uspješnosti. Kod rječničkog materijala generiranje atribuiranog ulaza za InDesign uz dobro pripremljeni predložak dokumenta se pokazao kao najprikladniji za praktičnu upotrebu. U slučaju kad ulazni dokument izvorno možemo dobiti u formi dobro definiranog XML-a nameće se pristup njegove kontrolirane direktne transformacije u atribuirani InDesign ulaz. To je i primjer rada na projektu Velikog rječnika hrvatskog jezika gdje je polazni XML materijal nastao radom na sjedinjenim XML-om iz više korpusa, a izlazni se XML bez posredovanja RTF formata pretvara u atribuirani InDesign ulaz.

LITERATURA

[1]Petroutsos, E.: MASTERING Visual Basic 2008, SYBEX,
Indianopolis,2008.
[2]Barker, F.S.:Microsoft Access 2002 Power Programming, SAMS,
New York,2002.
[3]Adobe IDesign CS4 Scripting Guide: VBSCRIPT ,
Dostupno na: http://wwwimages.adobe.com/www.adobe.com/products/indesign/scripting/pdfs/
InDesignCS4_ScriptingGuide_VB.pdf
(14.01.2012.)
[4]Using Adobe InDesign SC4 Tagged Text,
Dostupno na: http://help.adobe.com/en_US/InDesign/6.0/indesign_cs4_taggedtext.pdf(14.01.2012.)
[5]InDesign Scripting with VBA Example,
Dostupno na: http://blog.siliconpublishing.com/2009/11/indesign-scripting-with-vba-example/(14.01.2012.)
[6] Lyon, J.M.:InDesignConverter,
Dostupno na: http://www.editorium.com/indesignconverter.pdf(14.01.2012.)
[7] Horak,A.:Dictionary Editor and Browser,
Dostupno na:http://nlp.fi.muni.cz/projekty/deb2/emasters/slides.pdf(14.01.2012.)
[7]Kevin, J.; Sng, W.J.; Indurkhya N. and  Manning, C.: Using XSL and XQL for efficient, customized access to dictionary information.
Dostupno na: http://ausweb.scu.edu.au/aw2k/papers/jansz/paper.html(14.01.2012.)
[8]Joffe, D., de Schryver G.-M. and Prinsloo, D.J. (2003). Computational features of the dictionary application “TshwaneLex”. In: Southern African Linguistic and Applied Language Studies 2003 21(4): (pp. 239-250).
Dostupno na:   http://tshwanedje.com/publications/nlp-TL.pdf(14.01.2012.)
[9]Majstorović, N.: INTERSYMP-2006, 18th INTERNATIONAL CONFERENCE ON SYSTEMS RESEARCH, INFORMATICS AND CYBERNETICS, “OZIRIS” TOOLBOX APPROACH

Patrik Ervells latest collection is ironically titled “Software”ADIDAS ORIGINALS TUBULAR SHADOW. In the notes from the presentation, Ervell says he was interested in developing tension between nostalgia and sci-fi,NIKE ZOOM WINFLO 3 and even included 90s cyberpunk amongst his influences. Ervell developed this point of view by creating an imaginary software company called Idegen software systems. He then re-appropriated the company’AIR JORDAN XXXI MENs logo in several of the collection’s garments. Elsewhere,MBT TARIKI MEN mohair coats with oversized lapels made an appearance alongside mock neck tees,NIKE AIR JORDAN RETRO 5 police-inspired ribbed sweaters,MBT FORA GTX WOMEN flight bombers, and polyurethane leather coats. The setting was also suitably dystopian, and the resulting ambiance was something akin to if the creators of Deutschland 83 and Hackers met up and decided to create a collection… We mean that as a compliment.Yesterday afternoon,JORDAN CP3 IX MEN artist JR spent the day working on his latest collaborative piece with Daniel Arsham in Greenpoint,NIKE AIR MAX 90 Brooklyn,MBT KIMONDO GTX MEN NYC. Connecting the lines between art, architecture, dance and theater, Daniel Arsham has been known to subvert existing architectural structures in unconventional,NIKE CLASSIC CORTEZ NYLON playful ways; confusing and confounding the expectations of space and form. Source: Street Art News .