Chcę przekonwertować dokument DJVU na dokument PDF, oddzielając i zachowując warstwę tekstową i obrazy, jednocześnie zachowując strukturę z DJVU. Jak mogę to zrobić w Ubuntu?
(Będę wtedy używał Calibre do konwersji na ePub / Mobi, więc jeśli istniałaby wtyczka Calibre dla całego tego procesu, byłaby dla mnie idealna!)
Uwaga 1: Drukowanie z Evince, wywozu z DJview, czy cokolwiek przy użyciu pakietu ddjvu są nie odpowiednie rozwiązania jak oni odrzucić warstwę tekstową, oszczędzając tylko obrazy.
Uwaga 2: Wydaje się, że użycie DJVULibre jedynie wyodrębnia warstwę tekstową, a zdjęcia nie są wyodrębniane . Podobnie kopiowanie tekstu „ręcznie” powoduje utratę zarówno struktury dokumentu, jak i obrazów.
Oto jeden ze sposobów, który wymagałby niektórych nie tak powszechnych narzędzi:
Możemy użyć
djvu2hocr
polecenia (zocrodjvu
pakietu), aby wyodrębnić ukrytą warstwę tekstową z pliku DjVu (nie wykonuje żadnego OCR lub podobnego, po prostu wyodrębnia warstwę tekstową z geometrią), tj .:djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html
sed
interwencja poprawia nazwy klas w wyjściowym hOCR (który jest po prostu prostym plikiem HTML)Teraz wyodrębniamy stronę DjVu do formatu TIFF za pomocą:
ddjvu -format=tiff -page=10 sample.djvu pg10.tif
abyśmy zakończyli z plikiem znajdującym się w folderze roboczym:
Oto, gdzie
pdfbeads
pojawia się gra, a my po prostu wykonujemy:pdfbeads -o pg10.pdf
następnie ten fajny program zajmuje się wszystkim, co znajduje się w tym folderze (pliki HTML i TIFF o tej samej nazwie podstawowej) i tworzy wyjściowy plik PDF z niektórymi produktami ubocznymi:
który jest identyczny z wejściowym plikiem DjVu i ma warstwę tekstową w środku:
Podsumowanie komentarzy:
Długie komentarze poniżej omawiają reprezentowanie mniejszych obrazów ze strony dokumentu DjVu jako oddzielnych obiektów, co nie jest łatwo możliwe, ponieważ strona dokumentu DjVu sama w sobie jest pojedynczym obrazem z opcjonalną warstwą tekstową, bez „informacji” o mniejszych obrazach jako oddzielnych obiektach. Jeśli dokument DjVu ma kolorowe obrazy, zwykle będą one umieszczane na warstwie tła; w takim przypadku użytkownik może skorzystać z narzędzi takich jak
ddjvu
(wyodrębnij tylko warstwę tła) iimagemagick
(automatyczne przycinanie), aby wydrukować tylko obrazy zamiast całego obszaru roboczego, ale nie można zautomatyzować tworzenia danych wyjściowych w formacie PDFInnym rozsądniejszym, ale wolniejszym podejściem jest użycie zwykłych narzędzi OCR GUI.
gscan2pdf
(> 1.0) jest sugerowany jako możliwy kandydat na komputer z systemem Linuxźródło
Istnieje djvu2pdf, ale opiera się on na ghostscript, więc może to być kolejna opcja drukowania. Nadal sugeruję, abyś spojrzał na to, na wypadek, gdyby było to bardziej sprytne, niż przyznam to.
Nie ma go w repozytorium, ale możesz pobrać deb ze strony twórców: http://0x2a.at/s/projects/djvu2pdf
** Tutaj wpisz obowiązkowe powiadomienie o pobieraniu / instalowaniu rzeczy spoza repozytoriów **
źródło
Za pomocą DJVULibre można wyodrębnić warstwę tekstową za pomocą
terminal
polecenia:djvutxt myfile.djvu > myfile-ocr.txt
lubdjvused myfile.djvu -e 'print-pure-txt' > myfile.txt
(oba robią to samo i zostały tu znalezione )
Formatowanie wymaga pewnego wysiłku (ponieważ wiele symboli nie zostało poprawnie przekonwertowanych), a zdjęcia nie są odzyskiwane .
źródło
http://www.djvu-pdf.com/ - Za pomocą tej strony możesz przekonwertować djvu na pdf.
źródło
Najprostszy sposób: użyj gscan2pdf, aby zaimportować djvu, następnie OCR za pomocą tesseract, a na koniec zapisz go jako pdf. Tekst OCR w pliku pdf może nieznacznie różnić się od oryginalnego djvu, a konwersja może zająć trochę czasu, ale ta metoda nie wymaga myślenia i działa.
źródło
Zrobiłem skrypt odpowiedzi @ zetah.
Jest dostępny tutaj: https://gist.github.com/matthieuheitz/7287e214b1aeda7948f6c27fbfb5288b
źródło