2009-12-28 8 views
3

Мне нужно преобразовать файл chm в другой формат, скорее всего, в формате pdf или html. Я пробовал chm2pdf и другие конвертеры, но все они делают ужасные задания при конвертации. Даже при использовании такой программы, как htmldoc, не очень хорошая работа по переходу на html.Преобразование файла CHM в другой формат

Есть ли способ распечатать каждую страницу файла chm или взять его изображение, а затем сохранить это изображение в формате PDF или в другом формате.

Основная причина этого заключается в том, что книги chm заполнены кодом, а инструменты преобразования ничего не форматируют.

+3

Этот вопрос, вероятно, относится к superuser.com. – sastanin

ответ

2

Я боюсь, что будет процедура многоступенчатая ...

  1. Извлечение страниц из файла CHM, например, используя arCHMage.
  2. Используйте wkhtmltopdf на каждой странице.
  3. Используйте что-то вроде pdfjoin (из pdfjam) для записи документов вместе.

Это дополняет ответ, рекомендующий виртуальный принтер PDF, поскольку это решение командной строки linuxy (все упомянутые инструменты доступны в репозитории пакетов Debian и Ubuntu). Выбрать свой яд. ;)

2

Если вам просто нужно прочитать ее на linux, xchm (http://xchm.sourceforge.net/) обеспечивает достойную встроенную поддержку для просмотра файлов .chm.

+0

Их так много, Firefox имеет расширение, GNOCHM, KCHMViewer. У таких инструментов, как CHMLIB, есть поддержка чтения, а библиотеки Free Pascal позволяют поддерживать запись CHM на всех поддерживаемых ею операционных системах и архитектурах. –

2

Проблема заключается в том, что просмотрщик окон CHM в основном MSIE (Internet Explorer). Точный рендеринг, вероятно, зависит от версии. (а для среднего файла вы, вероятно, захотите MSIE 6)

Другими словами, чтобы получить точное воспроизведение, нужно использовать какой-то экстрактор (я использую один из CHMLIB или, в последнее время, Free Pascal/Lazarus), чтобы распаковать CHM (который представляет собой всего лишь html-архив с дополнительными индексами) и запускает MSIE для каждой страницы и позволяет ему писать, например, виртуальный писатель PDF.

Таким образом, у вас есть шанс действительно захватить его так, как это делает IE. (и надеемся, что принтер не будет выглядеть иначе, чем экран).

TOC находится в форме XML в файлах .hhc, и вы можете преобразовать один из них в древовидную структуру PDF-закладок.

Если вы каким-то образом вернете число «страниц» из IE, возможно, вы даже можете преобразовать индексные файлы в то, что вы можете добавить в PDF, поскольку вы можете определить, на какой странице есть каждая тема. Но это для продвинутого класса :-)

0

Чтобы преобразовать chm в pdf, вы можете попробовать выполнить следующие действия.

1) нажмите кнопку Печать
2) выбрать печать выбранный заголовок и все подразделы затем нажмите ОК
3), а печать приглашения еще отображается, перейдите в папку TEMP (обычно C: \ Documents и Settings \ USERNAME \ Local Settings \ Temp) и найдите последний файл "~ hhSOMETEXT.htm"
4) откройте.HTM файл с интернет-исследователя и печати в PDF

удалить кнопки Prev и дальше, вы можете задать стиль, такие, как IMG {дисплей: ни один важный}

1

Это работает для меня:

https://cloudconvert.com/chm-to-pdf

Существует также REST API:

CloudConvert REST API предлагает вам большое possibilites конвертировать файлы так же, как вы можете сделать на веб-сайте CloudConvert.

Если на границах недостаточно свободного пространства, вы можете распечатать его снова в формате pdf и изменить его размер, например. 80%.