Jump to content

DLP/Libraries

From The Document Foundation Wiki
< DLP
(Redirected from DLP Libraries)

This page describes the Libraries that make up the Document Liberation Project, including detailed information about supported/proposed file formats.

Adding to this page

Please

  • Follow the syntax of the tables below
  • If you have questions, ask on DLP/IRC


Infrastructure Libraries

Library Name Purpose Level of support Bugtracker Notes
librevenge A base for all the other libraries, providing basic interfaces and types. Also contains generators for several simple formats: plain text, HTML, SVG, CSV. Currently exists as part of the libwpd project

Export Libraries

These libraries are also known as generators.

Library Name Purpose Level of support Bugtracker Notes
libodfgen ODF export Currently exists as part of the libwpd project
libepubgen EPUB export
librvngabw AbiWord export

Import Libraries

Please keep the rows in this table sorted by Library Name -> Format Family -> File Format

Library Name Format Family File Format File extensions Level of support Bugtracker Notes
libabw AbiWord .abw, .zabw import bug tracker
libcdr CorelDRAW .cdr, .cmx import bug tracker
libe-book

Various reflowable e-book formats

EPUB .epub import (in progress) bug tracker EPUB
eReader .pdb import
FictionBook v2 .fb2, .fb2.zip import format homepage
Open eBook Publication Structure (OEBPS) Open eBook (OEB) .opf import (in progress) Open eBook

format superseded by EPUB

PalmDoc .pdb import
Plucker .pdb import technical format details
QiOO import mobile format for cellphones w/java
TCR .tcr import simple compressed text format
TealDoc .pdb import technical format details
zTXT .pdb import technical format details

more technical details

ZVR .zvr import simple compressed text format
libetonyek iWork Apple Keynote .key import (v2-v6) bug tracker
Apple Pages .pages import (v1-v4)
Apple Numbers .numbers import (v1-v2)
libfreehand Aldus/Macromedia/Adobe FreeHand import bug tracker
libmspub Microsoft Office Microsoft Publisher .pub import bug tracker
libmwaw Many legacy Mac document formats import bug tracker list of supported formats
libpagemaker Adobe PageMaker .pmd, .pm3, .pm4, .pm5, .pm6, .p65 import (v6-v7) bug tracker
libqxp QuarkXPress .qxd, .qxt import (3.1-4.1) bug tracker
libstaroffice StarOffice .sda, .sdc, .sdd, .sdw import bug tracker the conversion of .sdw files is very basic
libvisio Microsoft Office Microsoft Visio .vsd, .vsdx import, VSS (stencils) missing bug tracker See Wikipedia for an extensive list of formats/extensions. technical format details about VSDX format
libwpd Corel WordPerfect Corel WordPerfect .wpd, ? import bug tracker
libwpg Corel WordPerfect Graphics .wpg import bug tracker
libwps Microsoft Works Microsoft Works Word Processor .wps import bug tracker
Microsoft Works Spreadsheet .wks import
Microsoft Works Database .wdb import
Lotus Lotus Spreadsheet .wk1, .wk3, .wk4, .123 import
Quattro Pro Quattro Pro Spreadsheet .wq1, .wq2 import (DOS version) very minimalist
Microsoft Write .wri import
libzmf Zoner Callisto/Draw .zmf import (4-5) bug tracker
Library Name Format Family File Format File extensions Level of support Bugtracker Notes

Proposed formats

Format family File format File extensions Type of support Notes
StarOffice binary formats StarDraw Graphics .sdg import Deprecated from LibreOffice. Probably easier idea than to writing import filters: Integrate an online converter / webservice in LibreOffice running an older version of OpenOffice.org 2.x (later versions of LO already didn't support .sd* properly) on a server that does the conversion. See OOOConv.
StarWriter Global/Master Document .sgl import
StarOffice Template .vor import
Software602 602Text .wpd import Wikipedia article (czech).

(Comment: I think this file format is already supported by LibreOffice, isn't it? GerryT (talk)
No, that's T602. --Dtardon (talk)

602Tab .wls import
Adobe PageMaker Adobe Pagemaker Library Palette .pal import
Adobe Pagemaker Template .pt3, .pt4 import
Serif PagePlus import
Apple iBooks iBook Format (IBA) .ibooks import Based on EPUB, but with proprietary extensions
OmniGraffle .graffle import see request at ask (Wikipedia article)

macOS only application - OmniGraffle 5 is downloadable at http://www.omnigroup.com/omnigraffle/ version 6 from the Appstore

Adobe Illustrator Adobe Illustrator Artwork .ai import/embed Inkscape supports Adobe Illustrator files (two different filters "9.0 and newer" and "8.0 and older"). According to Inkscape developer prodoukine, there is no reverse engineering necessary, since older AI formats are based on AI/PS and newer on AI/PDF. (tdf#53309)
Hangul Word Processor .hwp import Regarding to Wikipedia, the spec for the old formats are open now, but sadly in Korean.

Comment: I think this file format is already supported by LibreOffice, isn't it? GerryT (talk)
yes, the old format is (I can't verify it) but the new stuff not (I believe there is no new specification!) Dennis Roczek (talk)

To paraphrase Dtardon: Hangul/HWP support lives in the hwpfilter module. No dependency on LO code, but extracting to DLP would be tough: It'd be tedious work to replace the direct generation of ODF by use of RVNGTextInterface, and with very few test documents, there's high probability of introducing major regressions. Qubit (talk) 2015-04-08T16:01:36 (UTC)
Corresponding bug: tdf#70097 --Kerwyn (talk) 2014-09-27T13:24:43 (UTC)

Microsoft Access .mdb import Microsoft Access database format. Kexi in the Calligra Suite already includes an import filter.

There is already http://mdbtools.sourceforge.net/ . --Dtardon (talk)
Actually the correct location is at https://github.com/brianb/mdbtools/ and they are still developing! Dennis Roczek (talk)
Unfortunately [1] isn't active since at least one year. I'd like to see the community employing Brian full time... Apart from that Kexi lightly forked mdbtools long ago so it can be embedded in an object-oriented import API. Basing on C does not help to develop so complex software, IMHO, by engineers not as talented as Brian.
There is also Jackcess (Java based) that can be reused (for C/C++).--Jstaniek (talk)

LibreOffice Base .odb import LibreOffice Base's proprietary format. Please note, it's not a part of ODF because it depends on HyperSQL's format. There's nothing wrong in that as IMHO databases/database apps are not documents and cannot be reasonably expressed in compressed XML. But furthermore, ODB isn't readable using non-Java software at all. There's effort within the Kexi Project (using my time and Google's money): Add support for importing tables and data from LibreOffice Base, that's it. I would be happy to make it useful for everyone though C++ interfaces (so not only for Kexi). --Jstaniek (talk) 2014-06-07T23:09:29 (UTC)
Kexi .kexi full access Kexi's native database apps format. Files are SQLite files with metadata, server apps are stored as MySQL/PostgreSQL databases mith the same metadata. C++ API will be available after the Predicate framework stabilizes. --Jstaniek (talk) 2014-06-07T23:09 (UTC)
SmartDraw SmartDraw Document .sdr import SmartDraw is a powerful visual processor calling itself the best competition to MS Visio. It works with a native proprietary file format and is only available for MS Windows platform. Currently there is also a web version called SmartDraw Cloud.


Corresponding bug: tdf#85378

Envoy_(WordPerfect) Envoy Document .evy import Envoy was a proprietary type of portable document used by Wordperfect and competence of Adobe PDF in the early 90's. This format was discontinued without any official support.

Iseler user page contains trivial information about this format and a small set of samples.

SoftMaker_Office TextMaker Document .tmd import SoftMaker Office is a long-term office software that provides a word processor (TextMaker), a spreadsheet (PlanMaker) and presentation program (Presentations) as basic applications. SoftMaker Office uses its own native file format as well as offering the possibility to embed it inside a PDF document.

Sample documents

PlanMaker Documents .pmdx import
Presentations Documents .prd import
Corel Print House .cpd import Corel Print House is a desktop publishing application for the home user.

How to analyse file format

To analyse binary file format, the OLE Toy python tool could be used. It support following formats:

  • PUB (Microsoft Publisher ver 98/2k and 2002 to 2010)
  • VSD, VSS (Microsoft Visio, ver 1-11)
  • DOC (Microsoft Word)
  • XLS (Microsoft Excel)
  • PPT (Microsoft PowerPoint)
  • MDB (Microsoft Access)
  • VBA (Microsoft Office)
  • RTF (Microsoft Office)
  • CLP (Microsoft clipboard)
  • FH (Macromedia Freehand ver.7 to 11)
  • QPW (QuattroPro spreadsheets)
  • SVM (StarOffice)
  • PPP (old PagePlus files, BIPU support)
  • CDR (CorelDRAW ver. 3 to 16)
  • WLD (CorelDRAW ver. 1 and 2)
  • CMX (CorelDRAW)
  • CPL (CorelDRAW palette)
  • CDW ("Kompas" unknown version, files were picked on Inet)
  • ABR/GRD (Adobe brushes and gradients)
  • ICC (colour profiles)
  • WMF, EMF, EMF+ (Windows Metafile)
  • REX, RX2 (Propellerheads ReCycle)
  • XML
  • CDX (CambridgeSoft ChemDraw, BIPU support)
  • LRF (Sony BroadBand EBook, also known as BBeB)
  • PDB (various Palm-based e-book formats, currently eReader, Plucker, PalmDoc, TealDoc, zTXT, iSilo ver. 1 to 3 and TomeRaider3. iSilo and TomeRaider3 only shows basic structure, because the format is not known.)
  • WPD (Software602 602Text; this format has nothing in common with WordPerfect.)
  • IMP (SoftBook e-book)
  • ZMF (Zoner Callisto, also known as Zoner Draw)
  • ZBR (Zoner Zebra)
  • BMI (Zoner Bitmap)
  • IWA (Apple iWork '13. This format is used by Keynote 6, Pages 5 and Numbers 3, with a big chunk of the internals shared among all three applications. Support for Numbers is BIPU.)
  • WLS (Software602 602Tab, aka MagicTab)
  • TC6, GC6 (Software602 C602)
  • PLIST (Apple property list)
  • 602 (Software602 T602)

To analyse Office Open XML (OOXML) formats (like: .docx, .xlsx, .pptx, .vsdx) the Chromium/Chrome extension could be used. It automatically decompress xml, and allow editing XML/zip files.