Author | Message |
---|
viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 25.02.2009 03:58 | |
| Описание
Скачать
Помощь
Установка
Распакуйте куда-нибудь...
Настройки
Настройки в файле /data/stylesheet.json. Изначально настроено для Sony Reader PRS-505.
Требования
Для работы требует установленной последней Java. Проверьте версию Java
На Win x64 рекомендуется две версии Java поставить, 32-bit и 64-bit.
Возможно вместо полноценной установки Java использовать портативную версию jPortable
Запуск
Простейший вариант запуска для пользователей Windows - в Windows Explorer перетащить мышкой *.fb2 или *.fb2.zip файл (или папку, содержащую такие файлы) и бросить его на fb2pdf.cmd. Он может также называться просто fb2pdf, если у Вас Windows Explorer настроен "скрывать известные раширения файлов". Такая иконочка с шестереночкой...
Пользователи Linux+Gnome могут запускать конвертер, перетащив мышкой *.fb2 или *.fb2.zip файл на "launcher". Пример "launcher" включен в архив, это текстовый файл fb2pdf.desktop (Gnome скроет расширение .desktop, так что он будет выглядеть просто fb2pdf, такая иконочка с пружиночкой...). Перед использованием его следует отредактировать, заменив путь к fb2pdf.sh
Запуск из командной строки:
Code: | usage: fb2pdf [-h] [-s styles] [-l <log>] [-e <log>] <input> [-r] [<output>] Examples: fb2pdf test.fb2 fb2pdf "c:\My Books" fb2pdf test.fb2 mybook.pdf fb2pdf -s data\myStylePart1.json -s data\myStylePart2.json test.fb2 fb2pdf -l my_log.txt -e cp866 test.fb2 -e,--encoding <arg> Log's encoding (default is cp1251) -h,--help Show usage information and quit -l,--log <arg> Log creation -o,--overwrite Overwrite existing pdf files -r,--recursive Process subdirectories -rt,--rotate <ROTATION> 90, 180 or 270 -s,--stylesheet <PATH> Stylesheet file -t,--twoup Create two-up pdf
|
Для пользователей Linux - fb2pdf.sh
GUI
Известные баги
Потенциальные улучшения
Last edited by viktorz on 24.11.2015 09:05; edited 225 times in total |
| | | Condorino Заслуженный участник форума
Joined: 05 Oct 2007 Posts: 282
Location: Россия, Тверь
| Posted: 26.02.2009 02:27 | |
| viktorz, пакетное преобразование как-то реализовано? Или по одному файлу только? Я попробовал, в общем-то форматирование понравилось, только там некоторые стили по умолчанию я бы другие настроил — вместо курсива без засечек сделал курсив из шрифта с засечками, в аннотации например. Неудобно, если файл fb2 назван как-то длинно. Надоест вбивать имя или переименовывать его перед этим. |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 26.02.2009 03:33 | |
| Condorino wrote: | пакетное преобразование как-то реализовано? Или по одному файлу только? |
Можно пакетно обработать - пишем другой скрипт запуска. Например вот такой runmeloop.cmd в windows cконвертит файлы из директории:
Code: | for %%f in ("%~d1%~p1*.fb2") do "%~d0%~p0\fb2pdf.cmd" "%%f" "%%f.pdf" for %%f in ("%~d1%~p1*.zip") do "%~d0%~p0\fb2pdf.cmd" "%%f" "%%f.pdf"
| Запускается так: Code: | runmeloop.cmd "C:\Documents and Settings\viktorz\My Documents\Books\" |
Вот только толковой статистики в конце процесса не хватает. Пока так.
Добавлено спустя 8 минут 20 секунд:
Condorino wrote: | в общем-то форматирование понравилось, только там некоторые стили по умолчанию я бы другие настроил — вместо курсива без засечек сделал курсив из шрифта с засечками, в аннотации например |
Отредактируйте .\data\stylesheet.json по вкусу. Например замените вот это
Code: | { name: "annotation", baseStyle: "default", fontSize: "11.0pt", fontStyle: "italic", alignment: "justified", firstSpacingBefore: "0.3em", spacingAfter: "0.3em" },
| на вот это
Code: | { name: "annotation", baseStyle: "default", fontFamily: "serif", fontSize: "11.0pt", fontStyle: "italic", alignment: "justified", firstSpacingBefore: "0.3em", spacingAfter: "0.3em" },
| и так далее в том же духе.
И не забудьте поделится результатом с общественностью!
Добавлено спустя 3 минуты 47 секунд:
Condorino wrote: | Неудобно, если файл fb2 назван как-то длинно. Надоест вбивать имя или переименовывать его перед этим. |
Эту мысль я не совсем уловил. Ну да, неудобно (в консоли виндовс). Но что я с этим могу сделать в коммандлайновой утилите, кромe как GUI присобачить?
Добавлено спустя 28 минут 27 секунд:
А кстати, из разряда "Знаете ли вы, что...". В виндовс можно таскать мышкой файлы из окна Explorer в окно консоли, он тогда путь к файлу копирует в командную строку. Вот и не надо руками вводить.
Добавлено спустя 2 минуты 50 секунд:
А еще лучше вместо стандартной консоли в виндовс пользовать FAR... _________________ Nothing Is Ever Easy fb2pdf |
| | | Condorino Заслуженный участник форума
Joined: 05 Oct 2007 Posts: 282
Location: Россия, Тверь
| Posted: 26.02.2009 07:22 | |
| viktorz, спасибо, попробую. |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 28.02.2009 08:04 | |
| Обновлено: - двухуровневое содержание в ридере - опционально выбор файла стилей в командной строке - пакетная обработка директории с файлами *.fb2 и *.fb2.zip - имя выходного файла по умолчанию, если не указано - Drag&Drop - человеческая инфо в процессе (подробности в *.fb2.log)
Новую версию поверх старой лучше не копировать. Во избежание. _________________ Nothing Is Ever Easy fb2pdf |
| | | Mitikas Новенький участник форума
Joined: 01 Jan 2009 Posts: 7
Location: Moscow
| Posted: 01.03.2009 00:32 | |
| Попробовал - работает супер! Спасибо! _________________ "Born To Race" |
| | | Condorino Заслуженный участник форума
Joined: 05 Oct 2007 Posts: 282
Location: Россия, Тверь
| Posted: 01.03.2009 18:51 | |
| viktorz, а можно сделать поддержку шрифтов Type 1? |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 02.03.2009 02:59 | |
| Condorino wrote: | viktorz, а можно сделать поддержку шрифтов Type 1? |
Это *.afm? Кажется, можно. А нужно ли? У Вас есть какой-то замечательный фонт, котрого нет в ttf?
Добавлено спустя 2 часа 21 минуту 55 секунд:
Обновлено: - опционально рекурсивная обработка поддиректорий - исправлена проблема с конвертированием fb2, имеющих более одного тега title-info/sequence в заголовке - исправлена проблема с отображением двух и более авторов в ридере - изменен стиль по умолчание (new.stylesheet.json)
Новую версию поверх старой лучше не копировать. Во избежание. _________________ Nothing Is Ever Easy fb2pdf
Last edited by viktorz on 03.03.2009 13:00; edited 1 time in total |
| | | Condorino Заслуженный участник форума
Joined: 05 Oct 2007 Posts: 282
Location: Россия, Тверь
| Posted: 02.03.2009 10:03 | |
| *.pfm Там на самом деле 4 файла: *.pfm, *.pfb, *.afm, *.inf
viktorz wrote: | Кажется, можно. А нужно ли? У Вас есть какой-то замечательный фонт, котрого нет в ttf? |
Есть Но если это очень ресурсоемко, то и фиг с ним. |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 02.03.2009 10:42 | |
| Я тут попробовал - хватило двух файлов, *.afm и *.pfb.
Добавлено спустя 1 час 10 минут 50 секунд:
Обновлено: - В файле настройки стилей можно указать encoding для шрифта (по умолчанию Identity_H):
Quote: | { name: "serif", regular: "./data/antiq6.afm#cp1251", bold: "./data/antiq7.afm#cp1251", italic: "./data/antiq5.afm#cp1251", boldItalic: "./data/antiq4.afm#cp1251" }
|
Condorino В принципе шрифты *.afm + *.pfb поддерживались изначально. Но те, которые я пробовал, не поддерживали кодировку Identity_H, которую конвертор хотел. Так что я добавил возможность кодировку указать явно, как в примере выше. Честно говоря, я смутно понимаю, о чем говорю... Но сконвертить русскую книжку с такими настройками получается. Файлы antiq* - это AntiquaPSCyr из пакета шрифтов PSCyr для ТеХ. Надеюсь, это то, чего Вы хотели? А что за замечательный шрифт у Вас? _________________ Nothing Is Ever Easy fb2pdf |
| | | Condorino Заслуженный участник форума
Joined: 05 Oct 2007 Posts: 282
Location: Россия, Тверь
| Posted: 02.03.2009 12:46 | |
| viktorz wrote: | Надеюсь, это то, чего Вы хотели? |
Вечером дома посмотрю
viktorz wrote: | А что за замечательный шрифт у Вас? |
Что-то полюбился мне Swift, последнее время им верстаю для PDF, даже в ридер его прошил. |
| | | elf/2 Новенький участник форума
Joined: 12 Sep 2008 Posts: 6
| Posted: 03.03.2009 10:20 | |
| во-первых спасибо за тул!
во-вторых пара багов/ограничений: 1. fb2pdf не завелся с jre 1.5 u16, но завелся с jre6 u12. Причем в первом случае ругался как-то некрасиво 2. не получилось отключить транслитерацию метаинформации . Пробовал transliterateMetaInfo: "false", и совсем закоментировать generalSttings в stylesheet.json. если вдруг это важно, то исходный fb2 был в utf8 |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 03.03.2009 12:59 | |
| elf/2 wrote: | 1. fb2pdf не завелся с jre 1.5 u16, но завелся с jre6 u12. Причем в первом случае ругался как-то некрасиво |
Я погляжу, но неплохо бы мне знать, как именно оно ругалось
elf/2 wrote: | 2. не получилось отключить транслитерацию метаинформации . Пробовал transliterateMetaInfo: "false", и совсем закоментировать generalSttings в stylesheet.json. если вдруг это важно, то исходный fb2 был в utf8 |
В последней версии стиль по умолчанию new.stylesheet.json. Есть у меня такое подозрение, Вы не тот файл редактируете _________________ Nothing Is Ever Easy fb2pdf |
| | | elf/2 Новенький участник форума
Joined: 12 Sep 2008 Posts: 6
| Posted: 04.03.2009 00:11 | |
| viktorz wrote: | Я погляжу, но неплохо бы мне знать, как именно оно ругалось |
вот так примерно
Code: | D:\apps\fb2pdf>fb2pdf.cmd Zelinski_Erni__Uspeh_bez_ofisnogo_rabstva_www.Litru.ru_36296.fb2.zip Converting Zelinski_Erni__Uspeh_bez_ofisnogo_rabstva_www.Litru.ru_36296.fb2.zip.. .
Caught: java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z at launcher.translate(launcher.groovy:86) at launcher.run(launcher.groovy:59)
|
или чуть по другому если пускать через "java -jar lib/fb2pdf.jar <fb2> <pdf>"
Code: | Loaded binary #zelinski.jpg (image/jpeg) Hyphenation is on Language of the FB2: RU Exception in thread "main" java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z at org.trivee.fb2pdf.FB2toPDF.setupHyphenation(FB2toPDF.java:1249) at org.trivee.fb2pdf.FB2toPDF.run(FB2toPDF.java:248) at org.trivee.fb2pdf.FB2toPDF.translate(FB2toPDF.java:1206) at org.trivee.fb2pdf.FB2toPDF.translate(FB2toPDF.java:1200) at org.trivee.fb2pdf.FB2toPDF.main(FB2toPDF.java:1218)
|
viktorz wrote: | В последней версии стиль по умолчанию new.stylesheet.json. Есть у меня такое подозрение, Вы не тот файл редактируете |
какая неудача , если редактировать правильный файл то метаинформация остается по-русски. спасибо. но тогда еще пара наблюдений: 1. в лог вместо русских букв пишутся знаки вопроса (если транслитерация отключена)
Code: | Loaded binary #zelinski.jpg (image/jpeg) Hyphenation is on Language of the FB2: RU Hyphenation language is: RU Adding author: ???? ???????? Adding title: ????? ??? ???????? ??????? Loading image at #zelinski.jpg ... |
2. в свойствах pdf'а название книги нормальное, а автор в кавычках. вроде бы это ничему не мешает, но как-то некрасиво |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 04.03.2009 02:29 | |
| elf/2 wrote: | в свойствах pdf'а название книги нормальное, а автор в кавычках. вроде бы это ничему не мешает, но как-то некрасиво |
Кажется, это не я. Это Акробат Ридер из каких-то своих смутных соображений делает, и то не всегда. В свойствах файла в эксплорере этого нет, в других ридерах этого нет, собственно внутри pdf этого тоже нет.
Добавлено спустя 32 минуты 23 секунды:
Обновлено: - совместимость с Java 1.5 - создание лог-файлов в кодировке "cp1251"
Новую версию поверх старой лучше не копировать. Во избежание. _________________ Nothing Is Ever Easy fb2pdf |
| | | elf/2 Новенький участник форума
Joined: 12 Sep 2008 Posts: 6
| Posted: 04.03.2009 17:29 | |
| viktorz wrote: | Кажется, это не я. Это Акробат Ридер из каких-то своих смутных соображений делает, и то не всегда. |
понятно
viktorz wrote: | Обновлено: - совместимость с Java 1.5 - создание лог-файлов в кодировке "cp1251 |
спасибо, теперь в лог файле красота
кстати, а есть какие-нибудь планы развития/улучшения тулзы или уже все что хотелось сделано? |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 05.03.2009 00:14 | |
| footnotes хотелось бы, но требует много возни _________________ Nothing Is Ever Easy fb2pdf |
| | | elf/2 Новенький участник форума
Joined: 12 Sep 2008 Posts: 6
| Posted: 05.03.2009 14:03 | |
| viktorz wrote: | footnotes хотелось бы |
какая правильная хотелка! |
| | | allanbradl Guest
| Posted: 18.03.2009 08:26 | |
| Я извиняюсь за может быть глупые вопросы, но мне много непонятно, в режиме онлайн у меня нет возможности изменить спейсинг между строками и увеличить шрифт, при попытке включить зум на ридере 505 все сбивается в одну строчку, я предпочитаю иметь плотно упакованный текст и шрифт вердана. Вопрос в том что и как мне нужно изменять чтобы уменьшить расстояние между строкам (по сравнению с онлайн версией),как установить привычный шрифт и куда деваются якобы сконвертированные книги после того как я перетаскиваю их на .cmd (у меня выскакивает на секунду окно похожее на дос и на этом все кончается) Где и что я делаю неправильно? |
| | | viktorz Член клуба The eBook
Joined: 22 Sep 2007 Posts: 3209
Location: San Jose, CA
| Posted: 18.03.2009 23:10 | |
| 1. Я так понимаю, "онлайн" - это сайт fb2pdf.com? Tо, что лежит здесь никакого отношения не имеет к тому, что работает на сайте fb2pdf.com. "Еще один конвертер от тех же людей" - не значит "тот же самый", ага?
2. При перетаскивании файла fb2 на fb2pdf.cmd якобы сконвертированные книги появляются в той же директории, где лежит оригинальный файл, который перетаскивали. Там же появляются файлы с расширением .log, в которых подробный отчет о проделанной работе, и где можно увидеть ошибки, если что. Если не появляется ни того, ни другого, значит что-то сильно нехорошее. Например, на компьютере не установлена свежая Java. Если запустить из командной строки, а не перетаскиванием, то, вероятно, можно увидеть, как именно программа ругается, и тогда можно будет понять, где и что сделано неправильно.
3. Для того, чтобы изменять расстояние между строк и шрифт, следует редактировать файл new.stylesheet.json в поддиректории /data. Пример выглядит так
Code: | ... { name: "body", fontFamily: "serif", fontSize: "11.0pt", alignment: "justified", firstLineIndent: "1.5em", leading: "1.2em" }, ...
|
Здесь leading - растояние между строк. Какой именно шрифт будет "serif", настроено в этом же файле выше:
Code: | ... fontFamilies: [ { name: "sansSerif", regular: "./data/verdana.ttf", bold: "./data/verdanab.ttf", italic: "./data/verdanai.ttf", boldItalic: "./data/verdanaz.ttf" }, { name: "serif", regular: "./data/georgia.ttf", bold: "./data/georgiab.ttf", italic: "./data/georgiai.ttf", boldItalic: "./data/georgiaz.ttf" } ], ...
|
_________________ Nothing Is Ever Easy fb2pdf
Last edited by viktorz on 18.04.2009 00:16; edited 2 times in total |
| | |
| You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
© Libroom, 2021
|