LINUX.ORG.RU

Книги из PDF в DjVU

 ,


0

2

Всем добра! Решил тут перевести N книг из pdf в djvu? Пользую такую вот конструкцию на bash:

#!/bin/bash
mkdir new;                      #Создаем директорию, в которую будут складываться переконвертированные файлы
echo "Start convert."; 
for f in *.pdf; 
do
echo "Converting file $f"; 
convert "$f" "new/${f%.djvu}.djvu";     #Конвертирует файлы, меняет расширение с pdf на djvu и сохраняет в папке new
echo "Converting file $f complete"; 
done;
echo "Converting complete.";

exit 0
На выходе получил N djvu файлов с первыми страницами книг, подскажите что я не так сделал?


А если попробовать GUI утилитами?

bookman900 ★★★★★ ()
Ответ на: комментарий от anonymous

ок)

#!/bin/bash
mkdir new;                      #Создаем директорию, в которую будут складываться переконвертированные файлы
echo "Start convert."; 
for f in *.pdf; 
do
echo "Converting file $f"; 
#convert "$f" "new/${f%.djvu}.djvu";     #Конвертирует файлы, меняет расширение с pdf на djvu и сохраняет в папке new
pdf2djvu -o "new/${f%.djvu}.djvu" -d 400 "$f"
echo "Converting file $f complete"; 
done;
echo "Converting complete.";

exit 0

получаю что то типо вот такого:

Converting file 78-7.pdf
78-7.pdf:
- страница #1 -> #1
Ошибка синтаксиса в PDF-файле (56157): Illegal character '>'
Ошибка синтаксиса в PDF-файле (56182): Unknown operator 'J<ae>'
Ошибка синтаксиса в PDF-файле (56182): Illegal character ')'
Ошибка синтаксиса в PDF-файле (56199): Unknown operator '<e5>g<f5><e8><aa>w<d4><eb>Pi<ba><e3><d6><d7><a1>4<d9><04><f3>U<0b><a3><7f><0b><d9>'
Ошибка синтаксиса в PDF-файле (56209): Unknown operator '<ec><c9>w<b0>J<9d><f5><c7><e3><c8>5<c5>@<b5><1c><1f>'
Ошибка синтаксиса в PDF-файле (56209): Illegal character '}'
Ошибка синтаксиса в PDF-файле (56209): Unknown operator 'Uk'
Ошибка синтаксиса в PDF-файле (56211): Illegal character '>'
Ошибка синтаксиса в PDF-файле (56483): Unknown operator '<b1><df><b1><15><ea>X<b5><9c><88>'
Ошибка синтаксиса в PDF-файле (56520): Unknown operator '=<1c><bb>h<8d><bd>#<fa><a6>:9y<ae><c1>P<b5><05>\<07>r<d4><d2><d8><91>B<c5>j<8d><bd><d3><17><1e>'
Ошибка синтаксиса в PDF-файле (56520): Unknown operator '<c3><f2><a6><07>L<15><e4>Z7<16>P5<13><83><af><83>c<17>|<ec><8d><ae><ee><a1>0<cc><ce>'
Ошибка синтаксиса в PDF-файле (56550): Unknown operator 'tn<aa><a0><a3>e<ad>uu<85><ab>*<c6><ac>0m<97>;<f6>N;<da>&<ca>X<ce><aa><19>S<05><f7>t`<f1><ab>+'
Ошибка синтаксиса в PDF-файле (56553): Unknown operator ']'
Ошибка синтаксиса в PDF-файле (56563): Unknown operator 'U1<9b>58V<1c>w<ec><1d>0r<0f>N<f7><f5>^<de><a2>gS<05><0f>B<f6><de><f8><81><0b>'
Ошибка синтаксиса в PDF-файле (56763): Unknown operator '<9a>k'
Ошибка синтаксиса в PDF-файле (56782): Unknown operator '<07>m'l<d9>f<e4>35'
Ошибка синтаксиса в PDF-файле (56786): Unknown operator '<a8><82><8b><b8>$Plz<d8><a8>5<a1><99><9a>P<cd>D<95><91>'
Ошибка синтаксиса в PDF-файле (56821): Illegal character '>'
Ошибка синтаксиса в PDF-файле (57077): Illegal character '{'
Ошибка синтаксиса в PDF-файле (57118): Illegal character '{'
Ошибка синтаксиса в PDF-файле: End of file inside array
Ошибка синтаксиса в PDF-файле: Leftover args in content stream
0,178 бит/пиксел; 0,169:1, -492,85% сохранено, 58096 байт исходно, 344422 байт результат
Converting file 78-7.pdf complete

и в итоге тоже первая страница(

julixs ()
Ответ на: комментарий от bookman900

Ну так в консоли же быстрее, и бывают ситуации, когда надо огромное число файлов сконвертировать.

save_data ()
Ответ на: комментарий от bookman900

Например, чтоб пакетами по N файлом умели, я пока что встречал только те которые по одному могут((

julixs ()
Ответ на: комментарий от save_data

+ порядка 400 файлов) Да и сам механизм пакетной конвертации в консоле интересен так что гуи не панацея)

julixs ()

Что за человек - тут парятся искать нормальное OCR или оригинальный текст, а он ужимает в lossy архив с картинками.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от julixs

У тебя pdf в каком виде? Сканы (картники) страниц?

УМВР

ls *.pdf | xargs -P4 -L1 -I{} pdf2djvu  -d 300 {} -o DJVU/{}.djvu
anonymous ()
Ответ на: комментарий от Bfgeshka

Не факт. У меня сканер стопку листов сканирует сам и сохраняет в виде pdf, я такие pdf'ы перегоняю в djvu, т.к. они в 2 раза меньше получаются при том же качестве.

anonymous ()
Ответ на: комментарий от anonymous

Тут уже нужно со сканирующим софтом разбираться, а не пережимать с потерями.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от Bfgeshka

С каким софтом? Если я прямо в МФУ вставляю sdcard и стопку бумаги. В МФУ 300dpi выставил. Он бумагу сканирует и на sdcard pdf файл кладет.

anonymous ()
Ответ на: комментарий от anonymous
Ошибка ввода/вывода (basic_ios::clear: iostream error)Ошибка ввода/вывода (basic_ios::clear: iostream error)Ошибка ввода/вывода (basic_ios::clear: iostream error)


Ошибка ввода/вывода (basic_ios::clear: iostream error)
Ошибка ввода/вывода (basic_ios::clear: iostream error)Ошибка ввода/вывода (basic_ios::clear: iostream error)

julixs ()
Ответ на: комментарий от anonymous

Ну, в таком случае уж действительно ничего не поделать.

Но это одно из немногих обоснованных оправданий для использования djvu.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от anonymous

Да, затупил(( С конвертировал 190 файлов из 377, только первые страници((

julixs ()
Ответ на: комментарий от julixs
Ошибка синтаксиса в PDF-файле (12285): Illegal character <92> in hex string
Ошибка синтаксиса в PDF-файле (40182): Illegal character '}'
Ошибка синтаксиса в PDF-файле (12286): Illegal character <5a> in hex string
Ошибка синтаксиса в PDF-файле (40268): Illegal character '}'
Ошибка синтаксиса в PDF-файле (12288): Illegal character <7e> in hex string
Ошибка синтаксиса в PDF-файле (40505): Illegal character '>'
Ошибка синтаксиса в PDF-файле (12289): Illegal character <5f> in hex string
Ошибка синтаксиса в PDF-файле (40532): Illegal character '>'
Ошибка синтаксиса в PDF-файле (12290): Illegal character <d3> in hex string
Ошибка синтаксиса в PDF-файле (40564): Illegal character '>'
Ошибка синтаксиса в PDF-файле (12291): Illegal character <8c> in hex stringОшибка синтаксиса в PDF-файле (40570): Illegal character '>'

Ошибка синтаксиса в PDF-файле (40636): Illegal character '>'Ошибка синтаксиса в PDF-файле (12292): Illegal character <ea> in hex string

julixs ()
Ответ на: комментарий от Bfgeshka

Но это одно из немногих обоснованных оправданий для использования djvu.

Относительно чего? Если речь о сканах книг (об OCR речь не идет), то зная что это (условно) черный текст на белом фоне, можно применить автоматом разные фильтры для уменьшения мусора/помех, т.о. улучшаем читабельность и уменьшаем размер документа.

anonymous ()
Ответ на: комментарий от anonymous

Так это и в pdf можно делать. А ведь у него поддержка приложений и устройств куда шире.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от Bfgeshka

pdf тут вообще не причем — это в данном случае многостраничный контейнер для картинок. djvu скорее формат хранения изображения, чем многостраничный контейнер

anonymous ()
Ответ на: комментарий от grem

Хоть технология, быть может, и поддерживается, но ни одной такой книжки не видел, везде грязные сканы.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от Bfgeshka

Ок. Допустим, у меня есть отсканированная книжка в виде набора картинок. Кодер djvu разделяет страницу на три слоя: background (цветной), маска текста (ч/б), foreground (цветной). (Если использовать didjvu для кодирования, то можно существенно улучшить качество, выбрав правильный алгоритм разделения). Далее, цветные слои кодируются вейвлетным кодеком IW44 с существенными потерями, а маска - черно-белым JB2 с малыми потерями или без потерь

Я знаю, что pdf по спецификации поддерживает все эти технологии, в нем есть JBIG, заменяющий JB2, есть JPEG2000 вместо IW44 (кстати, авторы djvu придумали свой кодек для улучшения производительности по сраненю с J2K, ну да ладно), есть поддержка слоев. Но я не смог найти опенсорсного софта вроде didjvu, позволяющего качественно все это закодировать

annulen ★★★★★ ()
Ответ на: комментарий от Bfgeshka

Не «быть может», а поддерживается. Сканенные PDF с OCR тоже не из неоткуда берутся. Да и у форматов немного разное назначение первоначально.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

Решил тут перевести N книг из pdf в djvu?

Более дурного занятия придумать трудно. Купи диск побольше.

Кроме того, djvu - крайне ущербная вещь. И ей никто не пользуется, кроме кучки сектантских энтузиазиастов в раиссе. Да и те, по-моему, уже успокоились. Если б еще поубирали торжественные песнопения из интернета, то было бы лучше. Ибо именно такой чепухи начитается молодежь типа топикстартера и пытается пользоваться этим нестандартизированным говном.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.