kostenloser Webspace werbefrei: lima-city


DocBook in PDF umwandeln

lima-cityForumHeim-PCSoftware

  1. Autor dieses Themas

    g****e

    Hey

    Ich hab mal ne Frage: Wie kann ich DocBook nach PDF mit Styling umwandeln?
    Erste Idee war aus dem Docbook HTML zu machen mit docbook2html, und dann mit htmldoc ein PDF Script daraus zu machen. Da das kein Styling beherrscht ist das für die Katz. docbook2pdf erzeugt nur ein tex file, welches ich nichtmal mit pdftex umwandeln kann (oder ich bin zu blöd für pdftex). Dann hab ich mal dblatex angeschaut, gutes Tool, aber hierfür finde ich keinerlei Weg ein eigenes Styling zu schreiben, dafür bin ich zu doof irgendwie. Hat jemand von euch dafür ein Tutorial oder Ahnung davon? Das wäre sehr hilfreich.
    Alternativ: Gibt es noch andere Tools mit denen soetwas mit Styling bewerkstelligbar ist, über die Konsole? (es soll in ein Seperates Programm eingebunden werden)

    Ziel ist eine Linux Umgebung, wie ihr sicherlich schon erraten habt. Ich hoffe ihr könnt mir helfen, ich hab da einige Probleme mit irgendwie...

    Liebe Grüße
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Der Weg von Docbook zu PDF führt in der Regel über TeX. Was hast du denn bereits versucht? Welche Programme hast du verwendet? Wie sah die Kommandozeile für die Tex-Übersetzung aus und welche Fehlermeldungen traten auf? Hast du nur pdftex verwendet oder pdflatex?

    Ich bin mir nicht sicher, inwieweit das folgende noch aktuell ist, aber vielleicht hilft es dir weiter: http://www.catb.org/~esr/writings/taoup/html/ch18s05.html#db_toolchain
  4. Autor dieses Themas

    g****e

    Ich hatte des Docbook mittels docbook2tex nach latex umgewandelt und wollte es dann mit pdftex umwandeln, allerdings geht da nix. Da meckert er von wegen "\l kann nicht gefunden werden" oder so.

    Im moment bin ich mit xmlto am werkeln, aber ich kann keinen Style hinzufügen.
    Folgene 2 Datein:
    test.xml:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <catalog>
    	<cd>
    		<title>Empire Burlesque</title>
    		<artist>Bob Dylan</artist>
    		<country>USA</country>
    		<company>Columbia</company>
    		<price>10.90</price>
    		<year>1985</year>
    	</cd>
    	<cd>
    		<title>Hide your heart</title>
    		<artist>Bonnie Tyler</artist>
    		<country>UK</country>
    		<company>CBS Records</company>
    		<price>9.90</price>
    		<year>1988</year>
    	</cd>
    	<cd>
    		<title>Greatest Hits</title>
    		<artist>Dolly Parton</artist>
    		<country>USA</country>
    		<company>RCA</company>
    		<price>9.90</price>
    		<year>1982</year>
    	</cd>
    </catalog>


    stylesheet.xsl
    <?xml version="1.0"?>
    
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    	<xsl:template match="/">
    		<html>
    		<body name="body">
    		
    			<table>
    				<tgroup cols='2' align='center'>
    				<colspec colname='c1'/>
    				<colspec colname='c2'/>
    					<tbody>
    						<xsl:for-each select="catalog/cd">
    							<row>
    								<entry> <xsl:value-of select="title"/> </entry>
    								<entry> <xsl:value-of select="artist"/> </entry>
    							</row>
    						</xsl:for-each>
    					</tbody>
    				</tgroup>
    			</table>
    		
    		</body>
    		</html>
    
    	</xsl:template>
    
    	<xsl:attribute-set name="body" >
    		<xsl:attribute name="font-weight">bold</xsl:attribute>
    		<xsl:attribute name="font-size">20pt</xsl:attribute>
    	</xsl:attribute-set>
    
    </xsl:stylesheet>

    Und meine Konsoleneingabe:
    xmlto --skip-validation -x stylesheet.xsl pdf test.xml


    Die PDF die raus kommt hat auch eine Tabelle nur aus 2 Spalten, so wie ich erwarte, jedoch kann ich einfach kein font-size und kein font-weight setzen, für garnichts...

    Liebe Grüße
  5. Was hat das mit DocBook zu tun? Das XML Dokument ist definitiv nicht mit dem DocBook-Standard konform. Und als Zeichenencoding sollte man nach Möglichkeit immer UTF-8 nehmen, da man damit viel mehr Zeichen darstellen kann und das eigentlich der Standard ist für sowas.

    Du hast offensichtlich einen XML Stylesheet geschrieben, der deine XML Datei in HTML umwandelt.

    xmlto unterstützt zwar auch PDF als ein post-processing-Ausgabeformat, aber wenn das nicht die Ergebnisse liefert, die du gerne haben willst, schlage ich vor, du lässt den post-processing Schritt weg und nimmst nur das erzeugte HTML. Dann kannst du weiterschauen, welche anderen Programme du für die Umwandlung nehmen könntest. Beispielsweise könntest du das erzeugte HTML Dokument mit einem Browser öffnen und es dann in eine PDF Datei drucken.

    Ansonsten bietet es sich noch an einfach mal die manpage von xmlto zu lesen. Eventuell findest du da auch hilfreiche Optionen.

    Beitrag zuletzt geändert: 24.9.2012 17:34:55 von bladehunter
  6. Autor dieses Themas

    g****e

    Hmm, ja du hast recht, des Beispiel is doof. Aber wie würde ich es denn im DocBook standard machen? Ich bin ATM dabei des mit size, font-size und auch CSS eigenschaften zu versuchen, jedoch ohne erfolg...
    Für dblatex bin ich halt zu blöd irgendwie, ich verstehe nicht, wie die Styles aufgebaut sind... Notfalls muss ich mal prüfen, ob eine reine LaTex Umgebung das Problem lösen würde... Aber ich habe gelesen, das soll sehr anstrengend für den Server sein (wobei jetzt geh ich ja auch schon über den LaTex weg)

    Mit dem Browser ist es leider so eine Sache, das ganze soll auf meinem Server automatisiert geschehen^^ Darum eher das abzielen auf Konsolenanwendungen. Diese werden dann in aus meinem Skript heraus aufgerufen und ich kann das Ergebnis verwenden. Wenn das alles nichts hilft, dann muss ich auchnoch den PDF Std studieren, um das ganze selbst zu coden, aber das wollt ich gerade nicht, weil ich dafür keine Zeit habe so richtig :-S

    Danke und liebe Grüße
  7. ggamee schrieb:
    Hmm, ja du hast recht, des Beispiel is doof. Aber wie würde ich es denn im DocBook standard machen? Ich bin ATM dabei des mit size, font-size und auch CSS eigenschaften zu versuchen, jedoch ohne erfolg...

    DocBook ist kein geeignetes Format, wenn eine spezielle graphische Darstellung wichtig ist. DocBook dient als Universalformat für (technische) Dokumentation und macht kaum Vorgaben dazu, wie die Dinge nach einer Konvertierung auszusehen haben. Der Vorteil ist eben, dass man je nach Wunsch ein beliebiges Format erzeugen kann. Und bei DocBook steht eben die Struktur und der Inhalt der Dokumentation im Vordergrund.

    Viele DocBook-Tools bieten für bestimmte Ausgabeformate spezielle Optionen. So kann man beispielsweise bei xmlto eine Config-Datei übergeben, die dafür sorgt, dass jede erzeugte HTML Seite einen Stylesheet einbindet.

    Bei meinem Lua Tutorial habe ich das so gemacht. Dafür habe ich einfach folgende Kommandozeile verwendet:

    xmlto xhtml -m config.xsl book.dbk


    und der Inhalt der config.xsl ist:
    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:fo="http://www.w3.org/1999/XSL/Format"
            version="1.0">
            <xsl:param name="html.stylesheet" select="'luabook.css'"/>
    </xsl:stylesheet>


    Wenn du wirklich technische Dokumentation schreiben willst, ist DocBook ein brauchbares Mittel. Andernfalls solltest du dich nach einer anderen Lösung umsehen.

    Es gibt einmal das Referenz-Buch DocBook the definite guide, wo alles wichtige drin steht. Es ist allerdings mehr eine Refernz als ein Tutorial. Daher solltest du besser hier schauen: http://xml.web.cern.ch/XML/goossens/dbatcern/index.html
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!