[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [http://dag.wieers.com/home-made/unoconv/ unoconv] {en} ist ein Dokumentenkonverter für die Kommandozeile bzw. [:Terminal#Virtuelle-Konsole:Konsole]. Mit ihm können Dateien, die in einem Format vorliegen, das von [:OpenOffice.org:OpenOffice] importiert werden kann, in ein anderes, von OpenOffice exportierbares, Format umgewandelt werden ([#Unterstuetzte-Formate Liste der unterstützten Formate]). Das Programm wurde von [http://dag.wieers.com/ Dag Wieers] {en} in [:Python:] geschrieben und steht unter der [http://www.gnu.org/licenses/gpl-2.0.html GPLv2]-Lizenz {en}. unoconv nutzt die Konvertierungsfähigkeiten von LibreOffice bzw. OpenOffice und setzt daher eine bestehende Installation des jeweiligen Office-Pakets voraus. Seine Vorteile sind: Es ist skriptingfähig, kann zu stapelweisen Konvertierungen genutzt werden und es kann Stil-Vorlagen automatisch mit den zu konvertierenden Dokumenten verbinden. = Installation = unoconv ist in den offiziellen Paketquellen enthalten. Es muss folgendes Paket installiert [1] werden: {{{#!vorlage Paketinstallation unoconv, universe }}} = Bedienung = == Aufruf == unoconv wird im Terminal [2] mit folgendem Befehl aufgerufen: {{{#!vorlage Befehl unoconv OPTIONEN DATEI1 DATEI2 }}} Die zu konvertierenden Dateien sollten mit passenden Dateiendungen versehen sein. unoconv benötigt eine laufende Instanz von OpenOffice. Wenn es keine findet, wird es selbst versuchen, eine starten, um zeitweise mit dieser zu kommunizieren. Durch folgenden Befehl kann man aber auch selbständig eine „Listener“-Instanz starten, die unoconv für wiederholte Verbindungen oder auch Fernverbindungen nutzen kann. {{{#!vorlage Befehl unoconv --listener OPTIONEN }}} Die Optionen müssen angepasst werden. Näheres dazu ist der [:man:Manpage] zu entnehmen. == Optionen == `unoconv` selbst kennt folgende Optionen: {{{#!vorlage Tabelle Optionen von `unoconv` +++ Option Beschreibung +++ `-d` oder `--doctype` Festlegung des Dokumententyps. (Mögliche Optionen: `document`, `graphics`, `presentation`, `spreadsheet`; Standard: `document`.) +++ `-e` oder `--export` Einstellung von Export-Filteroptionen (Bsp. für Exporte ins PDF-Format: `-e PageRange=1-2`) +++ `-f` oder `--format` Festlegung des Ausgabeformats (Liste möglicher Ausgabeformate: mit der Option `--show option`; Standardausgabeformat: PDF) +++ `-i` oder `--import` Einstellung von Import-Filteroptionen (Bsp.: `-i utf8`) +++ `-l` oder `--listener` unoconv als „Listener“-Instanz starten, mit der sich unoconv-Clients verbinden können +++ `-o` oder `--outputpath` Ausgabepfad (erst in aktuelleren Versionen von unoconv enthalten) +++ `--show` Auflistung möglicher Ausgabeformate (bei Verwendung von `-f`) +++ `--stdout` Ausgabe nach [:Shell/Umleitungen#stdin-stdout-stderr-Kanaele-der-Bash:stdout] +++ `-t` oder `--template` Verwendung von speziellen Vorlagen (Anwendungsfall: Nutzen eines Firmenbriefbogens) }}} Weitere Optionen und teilweise detailliertere Angaben sind der [:man:Manpage] zu entnehmen. == Unterstützte Formate == {{{#!vorlage Hinweis Neuere Formate der Office-Suite von Microsoft (Dateien mit den Endungen .docx, .xlsx, .pptx) werden auf der offiziellen Seite von unoconv nicht, auf der Seite von OpenOffice.org nur teils als unterstützt angezeigt. Bei einer installierten OpenOffice-Version, die diese Formate unterstützt, sollte jedoch auch die Konvertierung mit unoconv möglich sein. In diesem Fall empfiehlt es sich, die Dateien mit ihrer Dateiendung ohne weitere Spezifizierung des Eingabeformats an unoconv zu übergeben. Bei anderen nicht explizit aufgeführten Formaten empfiehlt sich versuchsweise eine ähnliche Vorgehensweise. }}} === Textformate === {{{#!vorlage Tabelle Formatname `unoconv`-Option Dateiendung Eingabe Ausgabe +++ BibTeX `bib` .bib <:>❌ <:>✅ +++ DocBook `docbook` .xml <:>✅ <:>✅ +++ HTML Document `html` .html <:>✅ <:>✅ +++ LaTeX 2e `latex` .ltx <:>❌ <:>✅ +++ Microsoft Word 97/2000/XP `doc` .doc <:>✅ <:>✅ +++ Microsoft Word 6.0 `doc6` .doc <:>✅ <:>✅ +++ Microsoft Word 95 `doc95` .doc <:>✅ <:>✅ +++ Word 2007 XML .docx <:>✅ <:>❌ +++ Open Document Text `odt` .odt <:>✅ <:>✅ +++ Plain Text `txt` .txt <:>✅ <:>✅ +++ Portable Document Format `pdf` .pdf <:>❌ <:>✅ +++ Rich Text Format `rtf` .rtf <:>✅ <:>✅ +++ StarWriter 5.0 `sdw` .sdw <:>✅ <:>✅ +++ XHTML Document `xhtml` .html <:>❌ <:>✅ }}} === Grafikformate === {{{#!vorlage Tabelle Formatname `unoconv`-Option Dateiendung Eingabe Ausgabe +++ Encapsulated PostScript `eps` .eps <:>✅ <:>✅ +++ Enhanced Meta File `emf` .emf <:>✅ <:>✅ +++ Graphics Interchange Format `gif` .gif <:>✅ <:>✅ +++ HTML Document `html` .html <:>❌ <:>✅ +++ Joint Photographic Experts Group `jpg` .jpg <:>✅ <:>✅ +++ OpenDocument Drawing `odd` .odd <:>✅ <:>✅ +++ Portable Document Format `pdf` .pdf <:>❌ <:>✅ +++ Portable Network Graphic `png` .png <:>✅ <:>✅ +++ Scalable Vector Graphics `svg` .svg <:>❌ <:>✅ +++ Tagged Image File Format `tiff` .tiff <:>✅ <:>✅ +++ Windows Bitmap `bmp` .bmp <:>✅ <:>✅ +++ XHTML `xhtml` .xhtml <:>❌ <:>✅ }}} === Tabellenkalkulationsformate === {{{#!vorlage Tabelle Formatname `unoconv`-Option Dateiendung Eingabe Ausgabe +++ CSV `csv` .csv <:>✅ <:>✅ +++ HTML Document `html` .html <:>✅ <:>✅ +++ Microsoft Excel 95 `xls95` .xls <:>✅ <:>✅ +++ Microsoft Excel 97/2000/XP `xls` .xls <:>✅ <:>✅ +++ Microsoft Excel 2003 XML `ooxml` .xml <:>✅ <:>✅ +++ Microsoft Excel 2007 XML .xlsx <:>✅ <:>❌ +++ Open Document Spreadsheet `ods` .ods <:>✅ <:>✅ +++ Portable Document Format `pdf` .pdf <:>❌ <:>✅ +++ StarCalc 5.0 `sdc` .sdc <:>✅ <:>✅ +++ XHTML `xhtml` .xhtml <:>❌ <:>✅ }}} === Präsentationsformate === {{{#!vorlage Tabelle Formatname `unoconv`-Option Dateiendung Eingabe Ausgabe +++ Encapsulated PostScript `eps` .eps <:>❌ <:>✅ +++ Graphics Interchange Format `gif` .gif <:>❌ <:>✅ +++ HTML Document `html` .html <:>❌ <:>✅ +++ Macromedia Flash (SWF) `swf` .swf <:>❌ <:>✅ +++ OpenDocument Presentation `odp` .odp <:>✅ <:>✅ +++ Microsoft PowerPoint 97/2000/XP `ppt` .ppt <:>✅ <:>✅ +++ Microsoft PowerPoint 2007 XML .pptx <:>✅ <:>❌ +++ Portable Document Format `pdf` .pdf <:>❌ <:>✅ +++ Scalable Vector Graphics `svg` .svg <:>❌ <:>✅ +++ StarDraw 5.0 (OpenOffice.org Impress) `sda` .sda <:>✅ <:>✅ +++ XHTML `xhtml` .xml <:>❌ <:>✅ }}} Weitere Importformate finden sich auf der [http://dag.wieers.com/home-made/unoconv/ Homepage] {en} von unoconv, weitere Exportformate im [http://wiki.services.openoffice.org/wiki/Framework/Article/Filter/FilterList_OOo_3_0 Wiki von OpenOffice.org] {en}. = Beispiele = Vor der Verwendung der folgenden Befehle empfiehlt es sich, unoconv in einer „Listener“-Instanz zu starten: {{{#!vorlage Befehl unoconv --listener & }}} == Word (.doc) nach LibreOffice (.odt) == Im ersten Beispiel wird das Word-Dokument '''datei.doc''' in ein LibreOffice-Writer-Dokument umgewandelt: {{{#!vorlage Befehl unoconv -f odt datei.doc }}} == CSV nach Excel == Der folgende Befehl wandelt die CSV-Datei '''tabellenkalkulation.csv''' in eine Excel-Datei um: {{{#!vorlage Befehl unoconv -f xls tabellenkalkulation.csv }}} == Alle Dateien in einem Ordner ins PDF-Format konvertieren== Der folgende Befehl wandelt alle Dateien im Arbeitsordner (sofern ihr Format von unoconv unterstützt wird) in das PDF-Format um: {{{#!vorlage Befehl unoconv -f pdf *.* }}} In aktuelleren Versionen von unoconv kann man auch ein Ausgabeverzeichnis für die zu erstellenden PDF-Dateien angeben: {{{#!vorlage Befehl unoconv -f pdf -o ~/PDF-Dateien/ *.* }}} = Links = * [http://dag.wieers.com/home-made/unoconv/ Homepage] {en} * [github:dagwieers/unoconv:unoconv] {en} * [http://suckup.de/linux/ubuntu/unoconv-umwandlung-zwischen-allen-dokument-formaten-von-openoffice/ unoconv: Umwandlung zwischen allen Dokument-Formaten von OpenOffice] {en} – Blogbeitrag 12/2010 mit komplexeren Beispielen * [:Pandoc:] – Umwandlung von Textdateien auf der Kommandozeile * [:Shell/Anwendungen:] {Übersicht} – Übersichtsartikel #tag: Büro, Shell