• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

.chm-Dateien mit Linux erzeugen?

rethus

Advanced Hacker
Hallo,
ich habe derzeit ein Projekt, bei dem ich ein Benutzerhandbuch über das Windows-Hilfesystem bereitstellen muss.

Gibt es da ein Programm, womit man diese chm. Dateien erstellen kann.
Ggf. auch gerne direkt aus den HTML-Vorlagen, bzw. durch importieren der HTML-Hilfs-Dateien.

Vielen Dank.
 

scg

Hacker
Hm, zum Anzeigen lassen gibts schon was:
http://www.herdsoft.com/linux/themen/chmviewer.html


Aber zum Erstellen, da brauchst du doch normalerweise den chm-Compiler von MS, oder ? Wenn du den hast (und keine andere Möglichkeit findest), könntest du ja diesen Schritt der Erzeugung unter WINE ausführen.
 
OP
R

rethus

Advanced Hacker
So, aus aktuellen Anlass habe ich mir nun kchmviewer installiert.
Anzeigen tut er die chm-Datei wunderbar.

Nun habe ich folgendes Problem:

In der Datei sind mehrere Ebenen vorhanden.
Die erste Ebene zeigt er auch schön an (mit nem + davor um es auszuklappen), die nachfolgenden Ebenen zeigt er nicht richtig an (das + fehlt, um die darin enthaltenen Unterebenen anzuzeigen)

Ist das ein Bug? Ist der Fehler bekannt? Gibts ne Lösung?
 
Was denn jetzt? Anzeigen oder erzeugen?

Falls kchmviewer rumzickt, kannst Du es auch mal mit einem anderen Programm versuchen. Installier mal p7zip (aus dem Quellcode, nicht von suser-guru - das Paket von suser-guru ist unvollständig).

Wichtig ist, dass Du nach dem Entpacken nicht "make", sondern "make all2" ausführst, andernfalls wird das entscheidende Programm nicht gebaut. Danach ist im Verzeichnis "bin" ein Programm namens "7z" (nicht "7za"), mit dem kann man die nackten HTML-Dokumente aus den CHM-Dateien extrahieren:
Code:
7z x <Dateiname>.chm
 

}-Tux-{

Hacker
traffic schrieb:
Installier mal p7zip (aus dem Quellcode, nicht von suser-guru - das Paket von suser-guru ist unvollständig).
Dann schreib ihm am Besten eine Mail und sag es ihm. Ich bin sicher, dass er das Problem beheben wird falls es möglich ist.


mfg }-Tux-{
 
@}-Tux-{: Eigentlich ist es gar kein Problem oder Bug. Das Paket besteht aus zwei Programmen, aber wenn man "make" ausführt, dann wird nur eines davon gebaut.

Und genau dieses eine ist dasjenige, das die meisten Leute haben wollen, weil es die wichtigsten Formate entpacken kann. Das andere braucht man nur für "exotische" Formate wie eben CHM. Wenn man es trotzdem dazu nimmt, wird das Paket halt wesentlich größer...

"Unvollständig" ist also eigentlich gar nicht die richtige Beschreibung. Vielleicht melde ich es trotzdem als "Enhancement Request" oder so...
 

}-Tux-{

Hacker
achso ok.

traffic schrieb:
@}-Tux-{: Eigentlich ist es gar kein Problem oder Bug. Das Paket besteht aus zwei Programmen, aber wenn man "make" ausführt, dann wird nur eines davon gebaut.
Dann könnte man ja theoretisch einmal das standard programm bauen und das "exotische" programm in einem extra paket verpacken(oder sind das keine 2 eigentständigen programme?):
p7zip
p7zip-exotic

}-Tux-{
 

qubit

Member
Notfalls kann man auch eine aktuelle Version von 7-zip mit wine installieren, die unterstützt dann auch das entpacken von chm Dateien.
 
Schwierig, weil sie eine Datei gemeinsam benutzen (nämlich "7zCon.sfx", den ausführbaren Stub für selbstextrahierende Archive). Der ist allerdings im jetzigen Paket überhaupt nicht dabei...

Ich denk mir mal was aus. In Fedora-Extras ist es so gelöst, dass das "exotischere" in einem Paket "p7zip-plugins" steckt, welches vom Hauptpaket abhängt (wegen der gemeinsam benutzen Datei). Das ist aber eigentlich auch doof, weil dieses Paket "p7zip-plugins" keine Plugins für das Programm im Hauptpaket ("7za") enthält, sondern Plugins für ein völlig anderes Programm ("7z"), das in demselben Paket steckt wie die Plugins. Also ist es unlogisch, das Zusatzpaket "p7zip-plugins" zu nennen, weil die Plugins darin nicht das Programm im Hauptpaket erweitern.

Zur Veranschaulichung:

http://rpm.pbone.net/index.php3/stat/4/idpl/2451757/com/p7zip-4.30-1.fc4.i386.rpm.html
http://rpm.pbone.net/index.php3/stat/4/idpl/2451758/com/p7zip-plugins-4.30-1.fc4.i386.rpm.html

bzw.

http://rpm.pbone.net/index.php3/stat/4/idpl/2448060/com/p7zip-4.30-1.guru.suse100.i686.rpm.html

Erschwerend hinzu kommt, dass "7z" die Plugins immer unterhalb des Verzeichnisses sucht, in dem es selbst installiert ist, also kann man es nicht nach /usr/bin, sondern muss es nach /usr/lib installieren. Ein Symlink von dort nach /usr/bin funktioniert auch nicht, weil er dann wieder in /usr/bin sucht, also muss man stattdessen einen Shell-Wrapper erstellen. Dann muss man aber auch "7za" nach /usr/lib installieren, weil das den SFX-Stub auch wieder in demselben Verzeichnis sucht, in dem es selbst installiert ist, also braucht man dafür auch einen Shell-Wrapper usw. usf... Wahrscheinlich hat suser-guru es genau deshalb weggelassen.

EDIT: Mein privates RPM mit allem in einem ist 1,4 MB groß, so schlimm wäre es also auch wieder nicht, alles in einem zu haben. Bei Debian sind die beiden Programme auch in einem einzigen Paket.

Spricht suser-guru eigentlich Deutsch?
 

}-Tux-{

Hacker
traffic schrieb:
Schwierig, weil sie eine Datei gemeinsam benutzen (nämlich "7zCon.sfx", den ausführbaren Stub für selbstextrahierende Archive). Der ist allerdings im jetzigen Paket überhaupt nicht dabei...
Naja.. dann könnte man diese Datei auch in ein extra-package packen:
p7zip-lib
und dieses dann von beiden anderen dann "requiren" lassen.
Aber ob sich der ganze Aufwand lohnen würde... :roll: (ich denke eher nicht).


}-Tux-{
 

}-Tux-{

Hacker
traffic schrieb:
EDIT: Mein privates RPM mit allem in einem ist 1,4 MB groß, so schlimm wäre es also auch wieder nicht, alles in einem zu haben. Bei Debian sind die beiden Programme auch in einem einzigen Paket.
1,4Mb sind ja nicht soo groß

traffic schrieb:
Spricht suser-guru eigentlich Deutsch?
* Deutsch
* Englisch
* Belgisch/Französisch
(soweit ich weiß)
 
OK, dann melde ich das und verweise auf diesen Thread. Da ist nämlich auch noch ein wirklicher Bug drin: Das Paket enthält zwei man-pages für "7z" und "7za", obwohl das Programm "7z" gar nicht mitverpackt ist.
 
Oben