May 25

CodeZapper – lekarstwo na nadmiar znaczników

Tagi_logoPliki PDF. Wszyscy je kochamy, zwłaszcza tłumaczyć. Na szczęście są programy, które umożliwiają wydostanie z PDFa tekstu w formie w dużym stopniu zgodnej z układem oryginału: z zachowaniem czcionek, ich atrybutów (pogrubienie, kursywa), podziału na akapity, wypunktowania itp. Niestety, ma to swoją cenę. Zazwyczaj o ile taki tekst po konwersji do .doc „na oko” wygląda dobrze, to zawiera mnóstwo znaczników/tagów, sterujących wyglądem tekstu, które mogą nam bardzo utrudnić życie. Jednak istnieje na to sposób.

Zacznijmy od ilustracji, na wypadek, gdyby ktoś miał wątpliwości, na czym polega problem ze znacznikami. Poniżej zamieszczam obrazek przedstawiający wygląd tekstu zaimportowanego do memoQ po eksporcie z programu Nitro PDF Professional. Zaznaczam, że jest to wygląd przy ustawieniu względnie konserwatywnym. Przy wybraniu opcji maksymalnego podobieństwa pliku .doc do źródła w .pdf, znaczników jest dużo więcej.

Tekst zaimportowany do memoQ po ekstrakcji tekstu z pliku w formacie PDF.

Tekst zaimportowany do memoQ po ekstrakcji tekstu z pliku w formacie PDF.

Do niedawna moim podstawowym programem CAT był Trados, i choć do wersji 2007 wolałem pracować w TagEditorze, w przypadku pracy z plikami skonwertowanymi z PDF miałem dwie opcje – albo wyczyścić formatowanie i budować całą strukturę pliku od nowa – co przy większym dokumencie wymaga mnóstwa pracy i czasu – albo pracować w Wordzie, gdzie tych znaczników po prostu nie widać. Co nie znaczy, że ich nie ma – program może mieć duże problemy z sugerowaniem podstawień z TM, ponieważ obecność znaczników znacząco wpływa na procentowe podobieństwo segmentów. Od czasu Trados Studio to rozwiązanie przestało być opcją – w TS taki tekst będzie wyglądał identycznie jak na ilustracji powyżej, tylko oznaczenia tagów będą inne.

Na szczęście znalazłem rozwiązanie tego problemu. David Turner, tłumacz pracujący do niedawna w programie DejaVu, stworzył zestaw makr do Worda, znanych jako „CodeZapper”, umożliwiających pozbycie się niepotrzebnych kodów. Oraz parę innych przydatnych rzeczy.

CodeZapper dostępny jest w formie pliku .dot, który trzeba „zainstalować” w systemie. Mamy tu do wyboru dwie możliwości – jeśli chcemy, by makra dostępne były przy każdym uruchomieniu Worda, wystarczy plik .dot wrzucić do folderu autostartu (w Windows XP, dla Word 2007: CDocuments and Settings[nazwa użytkownika]Dane aplikacjiMicrosoftWordStartup).  Z drugiej strony, tego rodzaju makra nie są raczej używane codziennie, możemy więc ładować je tylko w razie potrzeby. W tym celu należy plik .dot umieścić w folderze z szablonami (w Windows XP, dla Word 2007: CDocuments and Settings[nazwa użytkownika]Dane aplikacjiMicrosoftSzablony) i aktywować tylko wtedy, gdy jest potrzebny (w Windows 2007: Opcje programu Word -> Dodatki -> w liście Zarządzaj wybrać Szablony i kliknąć Przejdź). Po uruchomieniu szablonu uzyskamy dostęp do nowego menu z opcjami oferowanymi przez pakiet:

  • Batch – makro służące do wykonania jednego lub większej liczby innych poleceń w trybie wsadowym, na wszystkich plikach .doc lub .rtf w folderze.
  • CZAll – usuwa zbędne kody, ukrywa wypunktowania, przenosi przypisy na koniec dokumentu, wyciąga teksty z pól tekstowych do tabeli i przenosi ilustracje do pliku tymczasowego.
  • CZback – odwraca zmiany wprowadzone przez CZAll (wykonuje się po ukończeniu tłumaczenia).
  • CZL – podstawowe makra CodeZappera do usuwania zbędnych kodów w aktywnym dokumencie.
  • PDFFix – dodatkowe czyszczenie dla plików skonwertowanych z PDF.
  • PDFTidy – „czyści” pliki konwertowane z PDF przed uruchomieniem CZ.
  • Bullets – ukrywa/odsłania wypunktowania i automatyczną numerację akapitów by nie importować ich do DejaVu (DVX).
  • HdeMnB: ukrywa „ręczne” wypunktowania i numery akapitów.
  • MvFtnts/RevFtnts: czasowo przenosi przypisy na koniec dokumentu i z powrotem w celu ułatwienia tłumaczenia w DVX lub memoQ (MQ).
  • ImagesOut/ImagesIn: oznacza i wyciąga z dokumentu ilustracje wstawione jako „inline” do tymczasowego pliku i z powrotem.
  • Zoom: przełącza ustawienia powiększenia – 75, 100 i 150%.
  • RevTxt: odwraca kolejność słów w zaznaczonym fragmencie tekstu.
  • Left, Right: przesuwa zaznaczone słowa w lewo lub w prawo.
  • AllCocRTF, AllRTFDoc, DocRTF, RTFDoc: zapisuje bieżący plik lub wszystkie pliki jako .rtf (DocRTF) lub .doc (RTFDoc).
  • CntTxBx: liczy pola tekstowe w dokumencie oraz liczbę słów w polach tekstowych (cenne w starszych wersjach Worda, które w statystyce dokumentu nie uwzględniają słów w polach tekstowych).
  • TxtBxTb i TbTxtBx: Przenosi tekst z pól tekstowych do tabeli i z powrotem.
  • HdShwAll: ukrywa/wyświetla cały tekst w dokumencie (tekst ukryty).
  • HighLght: ukrywa/odsłania tekst wokół tekstu zaznaczonego (marker). Przydatne przy tłumaczeniu dokumentów po redakcji, w których zmiany zaznaczono przed podświetlenie kolorem.
  • LangID: ustawienie języka dla całego dokumentu.
  • DefLang: ustawienie domyślnego języka.

Jak widać, funkcji jest całkiem sporo, a jak to wygląda w praktyce? Cóż, po użyciu polecenia PDFFix, dokument z przykładu powyżej wygląda teraz tak:

Tekst po wyczyszczeniu za pomocą makr Code Zapper.

Tekst po wyczyszczeniu za pomocą makr Code Zapper.

Taki tekst tłumaczy się zdecydowanie łatwiej i przyjemniej, programy CAT nie mają też problemów z rozpoznawaniem podobieństw segmentów. Zwracam również uwagę na polecenie ImagesOut/ImagesIn – zdarzają się pliki Worda zawierające tak dużo (dużych) ilustracji, że nawet przy dużej ilości pamięci system może mieć problemy ze stabilną pracą. Tymczasowe „wyrzucenie” obrazków z tłumaczonego pliku może nam znacznie uprościć i przyspieszyć pracę.

Gdy zwróciłem się do Davida Turnera z prośbą o zgodę na umieszczenie CodeZappera na stronie (przeważnie jest do ściągnięcia tylko z miejsc wymagających rejestracji), przysłał mi jeszcze jeden zestaw makr – FormatFixer. Instaluje się go i uruchamia w sposób identyczny jak CodeZappera, natomiast makra te przydają się głównie przy pracy z źle przygotowanymi dokumentami tekstowymi. FormatFixer umożliwia hurtowe usunięcie podwójnych spacji, niepotrzebnych tabulatorów, spacji przed znakami przestankowymi i nieprawidłowych znaków końca akapitu, które czasami wstawiane są przy kopiowaniu tekstu ze stron internetowych.

CodeZapper dostępny jest bezpłatnie, choć autor prosi o przekazanie za pośrednictwem PayPala darowizny w wysokości 20 Euro w przypadku, gdy osoby korzystające z niego uznają go za wartościowe narzędzie. Moim zdaniem CodeZapper wart jest tej ceny, jeśli weźmie się pod uwagę ile czasu może nam zaoszczędzić. Aby dokonać wpłaty, wystarczy skorzystać z tego adresu http://www.asap-traduction.com/Liens-utiles.

Szczegółowe informacje na temat korzystania z obu zestawów makr dostępne są w plikach .dot (wystarczy otworzyć plik w Wordzie). Dla CodeZappera dostępna jest też osobno instrukcja w formacie .doc, zawierająca te same informacje, co w pliku .dot.

Pliki można pobrać stąd:

4 comments

1 ping

Skip to comment form

  1. No no.Odkąd pojawił się wpis o codeZapper postanowiłem sam go przetestować i daje to bardzo dobre efekty.Wprawdzie ostatnio też wymyśliłem inną metodę na OCRowalne dokumenty.
    Metoda przydaje się także do innych rzeczy jak choćby masowy eksport obrazków z dokumentu.
    DOC,rtf zapisujemy po prostu do formatu docx, który w rzeczywistości jest archiwum zip.Następnie wypakowujemy z takiego docx (zmieniamy rozszerzenie z docx na zip) plik document.xml gdzie mamy naprawdę fajną strukturę.
    Tutorial znajdziecie tutaj http://www.atominium.com/blog/2010/05/12/tutorial-4-tlumacz-niczym-macgyver/
    Co do CodeZappera to narzędzie wyśmienite.Padła również nazwa świetnego konwertera dokumentów PDF na DOC.Chodzi o nitro PDF.
    Jest rewelacyjnie dokładny ( dużo lepszy od Solida) i wykonuje konwersję kilkukrotnie szybciej niż w Solid i inne konkurencyjne programy.
    Naprawdę polecam.

  2. Tak, format .docx jest zdecydowanie lepszy od starego .doc, prawie tak dobry, jak otwarte formaty stosowane w plikach OpenOffice.
    A fakt, że plik .docx jest tak naprawdę tylko spakowanym kontenerem bardzo się przydaje – można np. wyciągnąć z niego wszystkie wstawione do Worda arkusze Excela, przetłumaczyć je, i wrzucić z powrotem. Albo jak w komentarzu powyżej, hurtowo obrobić obrazki.

    Co do Nitro PDF – bardzo go lubię, trzeba tylko przy konwersji powyłączać jak najwięcej opcji odtwarzania układu, bo generują mnóstwo znaczników. Albo użyć CodeZappera.

    • krzysiek on 2011/10/23 at 11:51
    • Reply

    Tymczasem link do CodeZappera prowadzi w pustkę 🙁 czyżby zmieniła się licencja?

    1. Niestety tak. Obecnie CodeZapper jest wyłącznie płatnym programem, do nabycia tu: http://asap-traduction.com/CodeZapper

  1. […] wierszy. Następny etap pracy polega na usunięciu z tekstu ukrytych znaczników (używając CodeZappera lub memoQ). Potem trzeba poprawić formatowanie, nanieść style, wygenerować prawdziwy spis […]

Leave a Reply

Your email address will not be published.