Mam przyjaciela, który jest niewidomy, a ja mam plik PDF, który chciałbym mu przeczytać.
Plik PDF ma około 200 stron pięknie zaprojektowanego tekstu (z kilkoma obrazkami i rysunkami zawierającymi tekst, ale są one na tyle rzadkie, że można je pobrać ręcznie). Niestety struktura logiczna pliku PDF jest źle reprezentowana: plik PDF nie jest świadomy dwu-kolumnowego przepływu tekstu, a żaden z wpisów indeksu i spisu treści nie jest w rzeczywistości linkami.
Mam łatwy dostęp do komputera z Linuksem i nieco mniej łatwy dostęp do komputera z systemem Windows XP, a także znam wyrażenia regularne i języki skryptowe do automatyzacji postprocesora.
Do tej pory znalazłem sposób, aby wyciąć plik PDF na pół w pionie (używając kodu z http://snipplr.com/view/18924/split-crop-double-page-pdfs-in-two/ , po przekonwertowaniu pliku PDF na PDF1.4, aby nie zawierał crossrefstreamu ani niczego, co został wywołany), tak że większość treści jest w odpowiedniej kolejności, a następnie za pomocą pdftohtml
wyodrębnić tekst z pewnym znacznikiem. Niestety, nie jest to w stanie odtworzyć logicznej struktury dokumentu (rozpoznaje niektóre oznaczenia kursywą, ale traci już wszystkie nagłówki rozdziałów, sekcji i podsekcji, które zawsze są wyróżniane przy użyciu spójnego użycia rozmiaru i koloru czcionki, nie wspominając o przerwach akapitu itp.)
Miałem duże nadzieje Kaliber , ale to narzędzie do konwersji nie radzi sobie również z źle zaznaczonymi dwubolumnowymi plikami PDF, a także nie może wyprowadzić struktury z użytych czcionek, chociaż ma pewne zalety dla wspólnego przechowywania akapitów.
Jak przekonwertować mój plik PDF na format odpowiedni dla osoby niewidomej?