Installing LibreOffice on Ubuntu 10.04 LTS (Lucid Lynx)
LibreOffice was forked from OpenOffice.org after Ocracle acquired Sun
and started charging money for previously free products (such as the ODF
import filter for Microsoft Office). The 3.3 release of LibreOffice has
a number of interesting features (such as SVG import/export and better
support for RTF end MS Office), and newer Ubuntu versions ship with
LibreOffice rather than OpenOffice.org. To install LibreOffice in Ubuntu
Lucid, add the LibreOffice PPA to your Software Sources and install
libreoffice
, libreoffice-gnome
and libreoffice-pdfimport
. If you
run into problems, try manually removing all vestiges of OpenOffice.org
first: sudo apt-get purge "openoffice*"
Using Vector Graphics in OpenOffice.org files
UPDATE: LibreOffice supports SVG import and PDF import since the 3.3 release.
Using vector graphic formats other than OpenOffice.org Draw in Writer and Impress documents remains a major headache. One wonders why an XML-based Office application that is so keen on ISO standards and PDF export still doesn't have proper support for including SVG and PDF images. An import function for PostScript files is provided, but unfortunately only works on PostScript printers. When exporting to PDF, the preview-bitmap is used instead, which can lead to unpleasant surprises...
Currently, the easiest way of importing vector graphics is to first render them as PNG bitmaps, using a program such as Inkscape (for SVG and PDF) or GhostScript (for PostScript and PDF). Of course this somewhat defeats the purpose of having vector graphics in the first place. It's still the best choice for presentations though, as OpenOffice .org has no antialiasing for vector graphics at the moment.
You can also convert SVG to PNG on the commandline, using something like:
inkscape -z --file=original.svg --export-png=converted.png --export-area-drawing --export-dpi=200
In order to convert an entire batch of SVG files into PNG just do:
for infile in *.svg ; do outfile=${infile//svg/png} ; inkscape -z --file=$infile --export-png=$outfile ; done
Optionally you can add flags such as --export-area-drawing
,
--export-dpi=300
or -w600 -h400
. See the Inkscape manpage for
more details.
There are cases where you really want to use vector graphics (e.g. for
high-quality printing of line drawings, graphs, etc.). Luckily, almast
all vector graphics formats can easily be converted to PDF, and PDF
import is supported as of OpenOffice.org 3.0. It does require you to
install the Sun PDF Import Extension. In Ubuntu, this extension is
conveniently provided as a package (openoffice.org-pdfimport
). I did
some testing, and it works well on simple PDF files. More complex
graphics can get messed up though, and the spacing of text is sometimes
a bit odd. But the extension is still beta, and so will probably improve
over time. Currently this looks like the best way to import vector
graphics into OpenOffice, especially when combined with Inkscape's
excellent PDF import/export features.
You can convert SVG to PDF on the commandline using something like:
inkscape -z --file=original.svg --export-pdf=converted.pdf
This can be useful, e.g. to convert a batch of SVG files into PDF just do:
for infile in *.svg ; do outfile=${infile//svg/pdf} ; inkscape -z --file=$infile --export-pdf=$outfile ; done
Native support for an SVG import filter is also being worked on, and until then it is possible to use the SVG Import extension.
Unfortunately, attempting to open an Inkscape SVG file with the SVG Import Extension will often generate a "General Input/Output Error" in OpenOffice.org. This is caused by the fact that the extension doesn't support the way Inkscape includes text in SVG files (textPath). You can circumvent this by either converting all text objects in your Inkscape drawing to paths (Object->Object to path) or by "unflowing" them using Text->Unflow (which will keep your text editable, but may or may not cause strange side-effects, like sudden changes in character size).
Another way to include vector graphics in OpenOffice.org files is to convert them to a Windows Metafile (WMF or EMF). Several tools are available for this (such as uniconverter and pstoedit), although none seem able to do an exact conversion. Inkscape and pstoedit can also write StarOffice/OpenOffice.org Draw files directly, albeit again with loss of some picture elements (like text).
To summarise, if you want to include vector graphics in OpenOffice.org
documents, it's usually best to convert them either to PDF or
alternatively to PNG (for complex vector drawings with lots of
gradients, or for use of graphics in presentations). PDF can be imported
into OpenOffice.org 3.x using the Sun PDF Import Extension.
Conversion of SVG-files to PDF, or SVG/PDF to PNG is best done using
InkScape. PostScript (PS or EPS) can easily be converted to PDF in
Ubuntu, using pstopdf
(from the ghostscript
package) or epstopdf
(from the texline-extra-utils
package). PostScript can be converted to
PNG using ImageMagic's all-powerful convert
command.
As a final note, the above advice for conversion to PDF/PNG is of course also very useful if you're working with PDFLaTeX!
Using OpenType fonts in OpenOffice.org under Linux
It looks like OpenType fonts will finally be supported in OpenOffice.org 3.2. The status of this feature is tracked as otf01 in the Sun EIS and [Issue #43029 in OOo QA][].
Advanced page numbers in OpenOffice.org
Beware, here be monsters. ;-) However, OOo guru Solveig Haugland has written a useful guide for the common case where you want some pages to have numbers, and others not (e.g. title pages).
UPDATE: LibreOffice now has a new dialog-box for creating and managing title pages, which also allows some control over page-numbering.
Batch conversion of office documents
Imagine you need to convert a lot of office documents, e.g. from MS
Office to ODF (MS Word .doc to ODT, Powerpoint .ppt to ODP, or Excel
.xls to ODS), or vice versa, or any of these formats to PDF or HTML.
Doing this by hand is going to take ages. Luckily there's a way to do it
automagically from the shell, using a little tool called unoconv (to
install in Ubuntu: sudo apt-get install unoconv
). Conversion (e.g. ODT
documents to PDF) is as simple as running: unoconv -b pdf *.odt
. See
the README file for more details.
A somewhat more lightweight way to batch-convert documents is to use
AbiWord (Ubuntu: sudo apt-get install abiword abiword-plugins
).
For instance, to convert a set of MS Word file to PDF:
abiword --to=pdf *.doc
(see man abiword
for more details).
Documents consisting of multiple files
Often it is practical to split a document into multiple files, for instance
if a document is large or is being written by multiple authors. Of course it's not very practical if you need to paste all the parts together every time you want to print or distribute the entire document.
To make life easier, OpenOffice Writer supports Master Documents. These useful beasties will automagically import and integrate subdocuments for printing and PDF creation. Take a look at this guide to see how it's done. Although it'll cost you around half an our to set up a Master Document the first time, it may save you tons of time in combining and updating subdocuments later on...
Installing OpenOffice 3 on older Ubuntu versions (e.g. 8.10)
OpenOffice.org 3 ships with Ubuntu 9.04 and later, but it was not yet in
8.10. To install it anyway on 8.10, see: The OOo 3.0 Personal Package
Archive. Add this to your repositories and update (or install the
openoffice.org
meta-package if you haven't got it yet). Don't forget
to install the Sun PDF Import extension as well. It is conveniently
provided as a package (openoffice.org-pdfimport
).