|
| Какие новые возможности/исправления самые желанные? |
| добавить обратные ссылки из примечаний |
|
12% |
[ 2 ] |
| добавить опцию начать главу с новой страницы |
|
6% |
[ 1 ] |
| добавить подстраничные сноски |
|
62% |
[ 10 ] |
| добавить колонтитулы |
|
0% |
[ 0 ] |
| исправить "знаки препинания после сносок переносятся на новую строку" |
|
6% |
[ 1 ] |
| исправить "разные проблемы переносов с дефисом,слэшем, неразрывным пробелом и т.п." |
|
12% |
[ 2 ] |
| исправить "разные проблемы с именами и путями в скриптах запуска под линукс" |
|
0% |
[ 0 ] |
|
| Total Votes : 16 |
|
| Author |
Message |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Wed Feb 25, 2009 2:58 am |
Quote |
|
"Еще один" конвертер FB2 -> PDF.
Разработка начиналась на http://fb2pdf.com (Автор оригинального кода - trivee)
Java, command-line, open-source (code.google.com/p/fb2pdf/)
http://viktorz.s3.amazonaws.com/fb2pdf/fb2pdf-j.20100402.zip
http://viktorz.s3.amazonaws.com/fb2pdf/fb2pdf-j.20100424.zip
http://viktorz.s3.amazonaws.com/fb2pdf/fb2pdf-j.20100604.zip
Установка: распакуйте куда-нибудь...
Простейший вариант запуска для пользователей 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
Настройки стилей в /data/stylesheet.json. Изначально настроено для Sony Reader.
Запускать из командной строки Windows так:
| Code: |
usage: fb2pdf [-h] [-s styles] <input_file_or_dir> [-r] [<output>]
-h,--help Show usage information and quit
-r,--recursive Process subdirectories
-s,--stylesheet Stylesheet file
Examples:
fb2pdf test.fb2
fb2pdf test.fb2.zip
fb2pdf "c:\My Books"
fb2pdf test.fb2 mybook.pdf
fb2pdf -s data\mystyle.json test.fb2
|
Для пользователей Linux - fb2pdf.sh
Пользователям Windows 7, возможно, придется в fb2pdf.cmd в начале добавить строчку вроде "set JAVA_HOME=c:\Program Files (x86)\Java\jre6", обратите внимание - без \bin\ на конце, без кавычек, и без пробелов лишних в конце, и путь должен соответствовать реальному пути к Java
Пользователям Max OS X, возможно, придется добавить в fb2pdf.sh в начале строчку вроде JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Ho me/" (нужно убрать пробел в слове Home в конце пути, это баг форматирования на форуме
================
Известные баги:
разные проблемы переносов с дефисом,слэшем, неразрывным пробелом и т.п.
нет переноса слов, которые выделены (например emphasis) Первое слово без пробела после открывающего тега .
лишний трекинг в последней строка абзаца
пустые пункты содержания для секций без заголовка
++ знаки препинания после сносок в конце строки переносятся на новую строку как отдельное слово
+ разные проблемы с именами и путями в скриптах запуска под линукс
+ разные проблемы с именами и путями в скриптах запуска под виндовс
++ выползшая за пределы страницы последняя строка При картинке в начале секции
+ проблемы с картинкой сразу за буквицей
Потенциальные улучшения:
обратные ссылки из примечаний
опция начать главу с новой страницы
rightIndent
управляемый tracking
subscript/superscript
опция строгого порядка картинок
отключение борьбы со вдовами-сиротами
подсказка по параметрам командной строки
параметр командной строки для отключения создания log-файла
опция отключения "висячей пунктуации"
опции масштабирования обложки
борьба с киндлообрезанием страниц
+ подстраничные сноски
+ колонтитулы
+ настройки оформления ссылок на примечания
+ настройки оформления текста примечаний
+ отдельные размеры для шрифтов bold, italic, bolditalic
++ замена длинного тире на короткое в буквицах
+ параметр отключения картинок совсем
+ локализация текстовых строк в конфиге в зависимости от языка книги
+ свежие шаблоны переносов
Плюсами помечены приоритеты.
+ = в долгом ящике
++ = при случае
+++ = первым делом _________________ Nothing Is Ever Easy
Last edited by viktorz on Wed Jun 30, 2010 8:02 pm; edited 61 times in total |
|
| |
|
 |
 Condorino Кандидат в члены клуба The eBook

Joined: 05 Oct 2007 Posts: 293 Location: Россия, Тверь
|
Posted: Thu Feb 26, 2009 1:27 am |
Quote |
|
viktorz, пакетное преобразование как-то реализовано? Или по одному файлу только?
Я попробовал, в общем-то форматирование понравилось, только там некоторые стили по умолчанию я бы другие настроил — вместо курсива без засечек сделал курсив из шрифта с засечками, в аннотации например.
Неудобно, если файл fb2 назван как-то длинно. Надоест вбивать имя или переименовывать его перед этим. |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Thu Feb 26, 2009 2:33 am |
Quote |
|
| 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 |
|
| |
|
 |
 Condorino Кандидат в члены клуба The eBook

Joined: 05 Oct 2007 Posts: 293 Location: Россия, Тверь
|
Posted: Thu Feb 26, 2009 6:22 am |
Quote |
|
| viktorz, спасибо, попробую. |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Sat Feb 28, 2009 7:04 am |
Quote |
|
Обновлено:
- двухуровневое содержание в ридере
- опционально выбор файла стилей в командной строке
- пакетная обработка директории с файлами *.fb2 и *.fb2.zip
- имя выходного файла по умолчанию, если не указано
- Drag&Drop
- человеческая инфо в процессе (подробности в *.fb2.log)
Новую версию поверх старой лучше не копировать. Во избежание. _________________ Nothing Is Ever Easy |
|
| |
|
 |
Mitikas Новенький участник форума

Joined: 01 Jan 2009 Posts: 9 Location: Moscow
|
Posted: Sat Feb 28, 2009 11:32 pm |
Quote |
|
Попробовал - работает супер!
Спасибо! _________________ "Born To Race" |
|
| |
|
 |
 Condorino Кандидат в члены клуба The eBook

Joined: 05 Oct 2007 Posts: 293 Location: Россия, Тверь
|
Posted: Sun Mar 01, 2009 5:51 pm |
Quote |
|
| viktorz, а можно сделать поддержку шрифтов Type 1? |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Mon Mar 02, 2009 1:59 am |
Quote |
|
| Condorino wrote: | | viktorz, а можно сделать поддержку шрифтов Type 1? |
Это *.afm? Кажется, можно. А нужно ли? У Вас есть какой-то замечательный фонт, котрого нет в ttf?
Добавлено спустя 2 часа 21 минуту 55 секунд:
Обновлено:
- опционально рекурсивная обработка поддиректорий
- исправлена проблема с конвертированием fb2, имеющих более одного тега title-info/sequence в заголовке
- исправлена проблема с отображением двух и более авторов в ридере
- изменен стиль по умолчание (new.stylesheet.json)
Новую версию поверх старой лучше не копировать. Во избежание. _________________ Nothing Is Ever Easy
Last edited by viktorz on Tue Mar 03, 2009 12:00 pm; edited 1 time in total |
|
| |
|
 |
 Condorino Кандидат в члены клуба The eBook

Joined: 05 Oct 2007 Posts: 293 Location: Россия, Тверь
|
Posted: Mon Mar 02, 2009 9:03 am |
Quote |
|
| viktorz wrote: | | Это *.afm? |
*.pfm Там на самом деле 4 файла: *.pfm, *.pfb, *.afm, *.inf
| viktorz wrote: | | Кажется, можно. А нужно ли? У Вас есть какой-то замечательный фонт, котрого нет в ttf? |
Есть Но если это очень ресурсоемко, то и фиг с ним. |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Mon Mar 02, 2009 9:42 am |
Quote |
|
Я тут попробовал - хватило двух файлов, *.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 |
|
| |
|
 |
 Condorino Кандидат в члены клуба The eBook

Joined: 05 Oct 2007 Posts: 293 Location: Россия, Тверь
|
Posted: Mon Mar 02, 2009 11:46 am |
Quote |
|
| viktorz wrote: | | Надеюсь, это то, чего Вы хотели? |
Вечером дома посмотрю
| viktorz wrote: | | А что за замечательный шрифт у Вас? |
Что-то полюбился мне Swift, последнее время им верстаю для PDF, даже в ридер его прошил. |
|
| |
|
 |
elf/2 Недавний участник форума

Joined: 12 Sep 2008 Posts: 10
|
Posted: Tue Mar 03, 2009 9:20 am |
Quote |
|
во-первых спасибо за тул!
во-вторых пара багов/ограничений:
1. fb2pdf не завелся с jre 1.5 u16, но завелся с jre6 u12. Причем в первом случае ругался как-то некрасиво
2. не получилось отключить транслитерацию метаинформации . Пробовал transliterateMetaInfo: "false", и совсем закоментировать generalSttings в stylesheet.json. если вдруг это важно, то исходный fb2 был в utf8 |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Tue Mar 03, 2009 11:59 am |
Quote |
|
| 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 |
|
| |
|
 |
elf/2 Недавний участник форума

Joined: 12 Sep 2008 Posts: 10
|
Posted: Tue Mar 03, 2009 11:11 pm |
Quote |
|
| 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: 1407 Location: San Jose, CA
|
Posted: Wed Mar 04, 2009 1:29 am |
Quote |
|
| elf/2 wrote: | | в свойствах pdf'а название книги нормальное, а автор в кавычках. вроде бы это ничему не мешает, но как-то некрасиво |
Кажется, это не я. Это Акробат Ридер из каких-то своих смутных соображений делает, и то не всегда. В свойствах файла в эксплорере этого нет, в других ридерах этого нет, собственно внутри pdf этого тоже нет.
Добавлено спустя 32 минуты 23 секунды:
Обновлено:
- совместимость с Java 1.5
- создание лог-файлов в кодировке "cp1251"
Новую версию поверх старой лучше не копировать. Во избежание. _________________ Nothing Is Ever Easy |
|
| |
|
 |
elf/2 Недавний участник форума

Joined: 12 Sep 2008 Posts: 10
|
Posted: Wed Mar 04, 2009 4:29 pm |
Quote |
|
| viktorz wrote: | | Кажется, это не я. Это Акробат Ридер из каких-то своих смутных соображений делает, и то не всегда. |
понятно
| viktorz wrote: |
Обновлено:
- совместимость с Java 1.5
- создание лог-файлов в кодировке "cp1251 |
спасибо, теперь в лог файле красота
кстати, а есть какие-нибудь планы развития/улучшения тулзы или уже все что хотелось сделано? |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Wed Mar 04, 2009 11:14 pm |
Quote |
|
footnotes хотелось бы, но требует много возни _________________ Nothing Is Ever Easy |
|
| |
|
 |
elf/2 Недавний участник форума

Joined: 12 Sep 2008 Posts: 10
|
Posted: Thu Mar 05, 2009 1:03 pm |
Quote |
|
| viktorz wrote: | | footnotes хотелось бы |
какая правильная хотелка! |
|
| |
|
 |
allanbradl Новенький участник форума

Joined: 18 Mar 2009 Posts: 3
|
Posted: Wed Mar 18, 2009 7:26 am |
Quote |
|
Я извиняюсь за может быть глупые вопросы, но мне много непонятно, в режиме онлайн у меня нет возможности изменить спейсинг между строками и увеличить шрифт, при попытке включить зум на ридере 505 все сбивается в одну строчку, я предпочитаю иметь плотно упакованный текст и шрифт вердана.
Вопрос в том что и как мне нужно изменять чтобы уменьшить расстояние между строкам (по сравнению с онлайн версией),как установить привычный шрифт и куда деваются якобы сконвертированные книги после того как я перетаскиваю их на .cmd (у меня выскакивает на секунду окно похожее на дос и на этом все кончается) Где и что я делаю неправильно? |
|
| |
|
 |
viktorz Член клуба The eBook

Joined: 22 Sep 2007 Posts: 1407 Location: San Jose, CA
|
Posted: Wed Mar 18, 2009 10:10 pm |
Quote |
|
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
Last edited by viktorz on Fri Apr 17, 2009 11:16 pm; 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
|
© The-eBook, 1999-2010. © Design by Prohorenkov
Syndicating News |
Powered by phpBB © 2001, 2005 phpBB Group.
|