# Dokumentation (CHM, PDF, HTML)

## mattes

Hallo,

ich habe ein Tool, das automatisch HTMLs zur Dokumentation generiert. 

Unter Windoos fasse ich diese HTMLs mit dem kostenlosen HTML Help Compiler von Winzigweich zu einem CHM zusammen. Unter Linux bekomme ich dieses Tool auch mit Wine nicht zum Laufen (es versteht keine POSIX Pfade   :Confused:  ).  Jetzt bin ich auf der Suche nach einem Ersatz:

- Entweder das Ding zum Laufen bringen, 

- Ein anderes Tool mit ähnlicher Funktion (CHMs generieren)

- Ein anderes Ausgabeformat (evtl. PDF)

Die HTMLs sind in der Form leider zu unhandlich (bis zu 200MB, zig tausend Dateien.) und wenn man es zippt muss man es vor dem ansehen erst wieder auspacken.

Was meint ihr? 

Mattes

EDIT: Wichtig ist, das Links im Ausgabeformat unterstützt werden.

----------

## think4urs11

Moved from Deutsches Forum (German) to Diskussionsforum.

----------

## schmutzfinger

Gib mal noch mehr Informationen. Woher kommt das html? Vielleicht kann man den Schritt ja auslassen und direkt chm erzeugen. Das geht zum Beispiel bei javadoc. 

Wie heißt dein html2chm-Tool? Vielleicht weiß jemand wie man es unter wine zum Laufen bekommt.

Ich frage mich gerade warum html nicht ausreicht. Das kann Links, macht kleine Dokumente und kann auf jedem Rechner ohne spezielles Tool angeschaut werden.

----------

## mattes

Oh war wohl das falsche Forum, sorry!

 *schmutzfinger wrote:*   

> Gib mal noch mehr Informationen. Woher kommt das html?

 

Mein Tool generiert es. Prinzipiell könnte ich auch auf HTML verzichten,  wichtig ist nur das Endformat.

 *schmutzfinger wrote:*   

> 
> 
> Wie heißt dein html2chm-Tool? Vielleicht weiß jemand wie man es unter wine zum Laufen bekommt.
> 
> 

 

 *mattes wrote:*   

> HTML Help Compiler

  ist aber falsch. Es heißt richtig: Microsoft HTML Help Workshop. 

Kann hier runtergeladen werden:

http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en

 *schmutzfinger wrote:*   

> 
> 
> Ich frage mich gerade warum html nicht ausreicht. Das kann Links, macht kleine Dokumente und kann auf jedem Rechner ohne spezielles Tool angeschaut werden.

 

HTML und klein? Wie ich geschrieben habe, es sind bei mir bis zu 200MB (Styles separat). ALs CHM sind das dann 10-15MB. Und wie gesagt es soll in einer Datei sein.

----------

## Necoro

hmmm - vielleicht statt HTML Latex generieren ... womit man denn viele Sachen machen kann  :Wink: 

btw: Ein kurzes "eix"en zeigt mehrere CHM-Viewer - aber keinen Creator

----------

## Hilefoks

 *mattes wrote:*   

> Mein Tool generiert es.

 

Ist "dein Tool" ein von dir selbst geschriebenes Programm? Wenn ja verrate uns bitte was es in etwa tut (z.B. API-Docs erstellen, ...) und in welcher Sprache du es geschrieben hast.

Falls "dein Tool" nur ein von dir verwendetes Programm ist wäre nett wenn du verraten könntest wie es heißt.

 *Necoro wrote:*   

> hmmm - vielleicht statt HTML Latex generieren ... womit man denn viele Sachen machen kann 

 

Sorry, aber Latex ist wahrscheinlich nicht so geeignet. Wenn es aber statt CHM auch ein offener Standard sein darf ist wohl DocBook das passende Dokumentenformat. Von DocBook aus kann man dann auch so ziemlich alles generieren was man möchte (Latex, HTML, CHM, PDF, ..).

Falls es dir nicht möglich ist direkt aus deinem Tool heraus DocBook zu generieren kann man es relativ leicht auch aus den HTML Dokumenten erzeugen, besonders wenn diese XHTML konform sind.

 *schmutzfinger wrote:*   

> Ich frage mich gerade warum html nicht ausreicht. Das kann Links, macht kleine Dokumente und kann auf jedem Rechner ohne spezielles Tool angeschaut werden.

 

Wahrscheinlich hat Microsoft chm entwickelt weil html eben doch noch zu leicht zu parsen/lesen ist - vor allem weil es das auf allen Plattformen ist. Oder es war einfach zu wenig innovativ einfach html Dateien zu packen und daher garnierte man es dann mit einem eigenem proprietären Kompressionsalgorithmus. Und um sicher zu gehen das es auch wirklich cool ist haben sie dann noch schnell die Informationen zur Struktur der Metadaten verwinden lassen. Von Microsoft kann man wirklich einiges lernen!

MfG,

Hilefoks

----------

## Max Steel

Schrieb er bereits 2mal:

```
Es heißt richtig: Microsoft HTML Help Workshop. 
```

----------

## Hilefoks

 *Max Steel wrote:*   

> Schrieb er bereits 2mal:
> 
> ```
> Es heißt richtig: Microsoft HTML Help Workshop. 
> ```
> ...

 

Sorry - ich hatte es so verstanden das dieses Programm nur dazu dient die CHM Dateien (aus den vorhandenen HTML Dateien)  zu generieren.

----------

## mattes

Hallo,

um die Verwirrung mal etwas zu vermindern (drücke ich mich so unklar aus   :Embarassed: ):

Ich habe ein Programm geschrieben (mehrere Bibliotheken in C++, eine Importfunktion in Perl, der Rest Python), nennen wir es MeinTool  :Very Happy: . Dieses Programm analysiert Werte einer (im weitesten Sinne) Prozessimulation. Die Ausgaben dieses Programmes sind einerseits ein Statuswert (Alles OK, oder eben nicht) und eine Dokumentation im HTML-Format. Diese Dokumentation wird benötigt, falls ein Fehler autftritt. Das HTML wird dann an das MS Tool weitergeleitet und so erhalte ich eine CHM Datei.  

Also: 

MeinTool >> HTML >> MS Help Workshop >> CHM

Unter Windows funktioniert das Ganze auch prima. Ich würde es nun aber gerne plattformunabhängig haben.

Viele Grüße

Mattes

----------

## Hilefoks

Moin,

 *mattes wrote:*   

> um die Verwirrung mal etwas zu vermindern (drücke ich mich so unklar aus  ):

 

Möglich. Aber auch gut möglich das es für mich einfach schon zu spät war.

 *mattes wrote:*   

> Ich habe ein Programm geschrieben (mehrere Bibliotheken in C++, eine Importfunktion in Perl, der Rest Python), nennen wir es MeinTool .

 

Ok - jetzt haben wir was handfestes.

 *mattes wrote:*   

> Die Ausgaben dieses Programmes sind einerseits ein Statuswert (Alles OK, oder eben nicht) und eine Dokumentation im HTML-Format. [...]

 

"MeinTool" generiert also HTML. Warum? Also warum direkt?

Ohne deine Daten (jene die du jetzt ins HTML gießt) genau zu kennen bietet sich auf jeden Fall an XML zu benutzen. Also dein Tool erstellt nicht direkt HTML, sondern XML. Das XML repräsentiert dann wirklich nur die Daten und mit Hilfe eines XSLT-Prozessors kannst du dann so gut wie alles generieren. Aber auch ohne XSLT-Prozessor bietet jede echte Programmiersprache mindestens eine Möglichkeit XML Daten zu lesen. Von XML aus kannst du also wirklich fast alles generieren. 

Wenn sich deine Daten obendrein z.B. gut in DocBook Abbilden lassen (auch XML und daher ebenso leicht zu verarbeiten) bekommst du noch eine Menge fertiger Software geschenkt die dann die Generierung von PDF, HTML und Co. für dich erledigen.

MfG,

Hilefoks

----------

## mattes

Das Docbook schau ich mir mal an. Danke!

 *Quote:*   

> Warum? Also warum direkt?

 

Weil die Ausgabefunktion in einer Stunde geschrieben war und es nach der Transformation nach chm (unter Windows ) alle Anforderungen erfüllt hat - Quick and Dirty, wie so oft   :Rolling Eyes: 

----------

## Hilefoks

Moin,

 *mattes wrote:*   

> Das Docbook schau ich mir mal an. Danke!

 

Und - schon dazu gekommen?

MfG,

Hilefoks

----------

## UTgamer

Da fällt mir noch etwas ein, einfach ein komprimierter Ordner.

Windows kann komprimierte Zip-Ordner von Hause aus behandeln, unter Linux müßte da auch ein Weg sein, ich glaube der KDE-Konqueror unterstützt die Funktion auch.

Evtl. auch ein kompressed Dateisystem, nur habe ich mich damit unter Linux auch mangels Anwendung noch nicht mit beschäftigt. Unter Windows 95/98 hatte ich damals immer ein kompressed Laufwerk für genau solche Sachen, NTFS unterstützt auch kompressed Partitionen.

Damit wird dann einfach jede weitere Konvertierung überflüssig.  :Wink: 

Also einfach ein komprimiertes Laufwerk oder ein Dateimanger der direkt in Zipdateien lesen/schreiben kann (gibts unter Windows Unmengen, und sollte es auch für Linux geben (7zip ?).

----------

## Carlo

 *mattes wrote:*   

> Unter Windoos fasse ich diese HTMLs mit dem kostenlosen HTML Help Compiler von Winzigweich zu einem CHM zusammen.

 

Was willst du noch mit .CHM. Microsoft benutzt das seit Vista doch nicht mal mehr selbst, wenn ich richtig informiert bin. (edit: Ist wohl noch nicht ganz weg vom Fenster.)

 *mattes wrote:*   

> Die HTMLs sind in der Form leider zu unhandlich (bis zu 200MB, zig tausend Dateien.) und wenn man es zippt muss man es vor dem ansehen erst wieder auspacken.

 

Inwiefern unhandlich? Festplatten sind spottbillig. Ein Dateisystem, das die Daten transparent komprimiert, ist für so einen Fall natürlich klasse.

----------

## mrsteven

Warum nicht einfach direkt pdflatex? Dein Programm muss dann eine LaTeX-Datei ausspucken, über die du dann pdflatex jagen kannst. Dann erhältst du am Ende eine einzige PDF-Datei ohne externe Abhängigkeiten, die zudem auch noch top aussieht!  :Smile: 

----------

## Hilefoks

 *mrsteven wrote:*   

> Warum nicht einfach direkt pdflatex?

 

Aus meiner Sicht: ein Latex-Exporter ist komplexer zu schreiben als einer der XML generiert. Wichtiger aber noch ist das aus XML alles generiert werden kann. Wenn später ein spezielles Format gewünscht wird oder aber die Daten maschinell weiterverarbeitet werden sollen ist man mit Latex auch wieder recht schlecht dran.

----------

## mattes

Hallo Leute,

danke für die vielen Tipps  :Exclamation: 

Bin leider noch nicht dazu gekommen, etwas davon umzusetzen.

Werde natürlich hier posten, was letzendlich draus geworden ist!

----------

