The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Преобразование CHM в PDF"
Отправлено auto_tips, 28-Янв-11 08:37 
Для преобразования формата CHM в PDF существует утилита chm2pdf, написанная на языке Python.
Если Python нет, можно пойти в обход:

1. Нам нужна библиотека chmlib, в популярных дистрибутивах она есть.

2. Так же, нужна утилита extract_chmLib, находиться в пакете, где-то в chmlib-examples, где-то в chmlib-bin.

3. Утилита htmldoc,так же везде есть.

4. И объект испытаний, например RHCE.chm

Кстати, для chm2pdf так же нужна chmlib, Python и дополнительная библиотека на питоне.

И так, делаем два каталога:

   mkdir /tmp/CHM/PDF /tmp/CHM/HTML;

и переходим в первый

   сd /tmp/CHM

Извлекаем html страницы в каталог HTML

   extract_chmLib RHCE.chm ./HTML

В каталоге HTML обнаруживаем следующие файлы:

   18196.hhc
   $FIftiMain
   final
   #IDXHDR
   #ITBITS
   $OBJINST
   #STRINGS
   #SYSTEM
   #TOPICS
   #URLSTR
   #URLTBL
   #WINDOWS
   $WWAssociativeLinks
   $WWKeywordLinks

Кто что значит, рассказывать не буду, смотрите Википедию и MSDN.
Нас интересует каталог ./final/, именно в нем находятся все страницы с текстом и картинки, если они были в книге.

Этот каталог и станет исходным для формирования PDF, который мы передадим в качестве параметра в утилиту htmldoc.
Авторы рекомендуют делать два прохода при конвертации.

Первый - индексация, сортировка, удаление лишних элементов и объединение в один каталог.

   htmldoc -d PDF/ HTML/final/*.html

И второй - сама конвертация, но уже из каталога PDF:

   htmldoc --compression=9 --book --size a4 --jpeg=100 -t pdf14 -f RHCE.pdf PDF/*.html

html --help для краткой справки
man htmldoc - для более подробного описания параметров.

В итоге получился правильный формат книги и на 2 мегабайта меньше размер.


URL: http://pavlinux.ru/2011/01/27/110
Обсуждается: https://www.opennet.ru/tips/info/2525.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру