DLP/Libraries

    From The Document Foundation Wiki
    < DLP

    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 EPUBWikipedia logo v3.svg
    eReader .pdb import
    FictionBook v2 .fb2, .fb2.zip import format homepage
    Open eBook Publication Structure (OEBPS) Open eBook (OEB) .opf import (in progress) Open eBookWikipedia logo v3.svg

    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 WikipediaWikipedia logo v3.svg 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)Wikipedia logo v3.svg.

    (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 articleWikipedia logo v3.svg)

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

    Adobe Illustrator Adobe Illustrator ArtworkWikipedia logo v3.svg .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 WikipediaWikipedia logo v3.svg, 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)
    SmartDrawWikipedia logo v3.svg 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)Wikipedia logo v3.svg 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_OfficeWikipedia logo v3.svg 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.