Konwersja DJVU do formatu PDF


39

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 ddjvunie 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.

Odpowiedzi:


37

Metoda 1

Wystarczy użyć DJView i wyeksportować jako plik PDF

  1. Idź do Menedżera pakietów synaptycznych
  2. Zainstaluj DJview4
  3. Uruchom DJview (Aplikacje - Grafika - DJView4)
  4. Otwórz dokument .djvu
  5. : Menu - Eksportuj jako: PDF

Metoda 2

Otwórz plik djvu w evince
Wybierz druk ----> drukuj do pliku
zmień .ps na .pdf i kliknij drukuj

Metoda 3

  1. Idź do Menedżera pakietów synaptycznych
  2. zainstalować

    djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3

  3. Idź do terminalu i pisz

     sudo apt-get install libtiff-tools
    
  4. Przejdź do katalogu, w którym znajduje się plik djvu. Kliknij prawy przycisk myszy. Idź do opcji „Otwórz w terminalu”. Kliknij na to. Terminal otworzy się.

  5. W tym terminalu napisz

    ddjvu -format=tiff file_name.djvu file_name.tiff
    tiff2pdf -j -o file_name.pdf file_name.tiff
    

Metoda 4

Istnieje również internetowy konwerter DjVu na konwerter PDF


@Ashu Czy na pewno to odzyskuje zdjęcia?
hayd

Tak, metoda 1 i 2 zadziałały dla mnie. nie próbowałem za 3 i .4
Ashu

@Ashu, czy wyodrębnia zdjęcia, czy po prostu kopiuje całą stronę? (czy to ma sens?)
Hayd

Wypróbowałeś jakąś metodę? wypróbuj i przekonaj się, czy to działa
Ashu,

2
Nie działa (pobiera obrazy lub tekst).
hayd

17

Oto jeden ze sposobów, który wymagałby niektórych nie tak powszechnych narzędzi:

  1. ocrodjvu
  2. pdfbeads , który ma swoje własne wymagania, które może znaleźć Google

Możemy użyć djvu2hocrpolecenia (z ocrodjvupakietu), 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:

sample.djvu
pg10.html
pg10.tif

Oto, gdzie pdfbeadspojawia 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:

sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym

który jest identyczny z wejściowym plikiem DjVu i ma warstwę tekstową w środku:

wprowadź opis zdjęcia tutaj

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) i imagemagick(automatyczne przycinanie), aby wydrukować tylko obrazy zamiast całego obszaru roboczego, ale nie można zautomatyzować tworzenia danych wyjściowych w formacie PDF

Innym 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


Czy mam rację, sądząc, że nie wyodrębnia to pojedynczych danych obrazu, a jedynie obraz całej strony?
hayd

Co rozumiesz przez „indywidualne dane obrazu”, odnosząc się do struktury plików DjVu?
zetah

czy może wykadrować zdjęcia z dokumentu jako mniejsze obrazy umieszczone na górze pliku PDF (np. aby można je było eksportować do HTML)
hayd

Nie ma takiej definicji w strukturze plików DjVu. Powyższy przykładowy obraz w oryginalnym dokumencie DjVu jest „umieszczony” na warstwie / masce pierwszego planu wraz z obrazem znaków i istnieje oddzielna warstwa tekstowa, która została wyodrębniona zgodnie z objaśnieniem. Jeśli dokument DjVu ma kolorowe obrazy, zostaną one umieszczone na warstwie tła na całej stronie (we wspólnym złożonym pliku DjVu). O ile zrozumiałe jest, że można oczekiwać, że obrazy na stronie dokumentu DjVu są oddzielnymi obiektami, nie są nimi - spójrz na stronę dokumentu DjVU jako pojedynczy obraz z opcjonalną warstwą tekstową, to w zasadzie to.
zetah

1
@zetah - dodatkowe informacje podane w komentarzach powinny naprawdę zostać dodane do odpowiedzi, ponieważ dostarczają cennych informacji na temat umiejscowienia obrazu w strukturze i tego, czego można się spodziewać po rozpakowaniu.
fossfreedom

4

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 **


1
Obawiam się, że djvu2pdf używa ddjvu do eksportu do formatu PDF, który eksportuje obrazy bez tekstu.
hayd

4

Za pomocą DJVULibre można wyodrębnić warstwę tekstową za pomocą terminalpolecenia:

djvutxt myfile.djvu > myfile-ocr.txt lub djvused 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 .


Jest to dobre do konwertowania książek bez obrazów w formacie DJVU, ale nie do dokumentów ze zdjęciami. To jest obecnie dla mnie aktualne rozwiązanie, które jako jedyne pozwala wyodrębnić tekst. Preferowany byłby sposób na zachowanie formatowania i zdjęć!
hayd


0

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.


1
Cześć, aby uczynić z tego bardziej użyteczną odpowiedź, możesz podać trochę więcej szczegółów na temat tego, gdzie można uzyskać i używać gscan2pdf i tesseract.
NGRhodes

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.