Writing Import Filters for LibreOffice

Slides:



Advertisements
Similar presentations
ECMA Open XML File Formats and the Evolution of Open File Formats Mark Lange Senior Policy Counsel Microsoft EMEA.
Advertisements

Advanced XSLT. Branching in XSLT XSLT is functional programming –The program evaluates a function –The function transforms one structure into another.
Visual Scripting of XML
PDF Those pesky proprietary formats: Alternatives Save the Day Sharon Trerise Northeast ADA & IT Center PPT.
DOWNLOADING LIBREOFFICE PCNA: DOWNLOADING AND USING LIBREOFFICE: A FREE OFFICE SUITE.
Introduction to key features since Spotfire 3.3 -Jeff Rix StarVesta Consulting Spotfire
© red ©
MCC MONROE COMMUNITY COLLEGE The XML saga (a different kind of Oz) Dorothy Hoskins XML publishing workflow consulting Textenergy LLC
Personal Bibliographic Software Roger Mills. PBS A replacement for the card index Originally intended to manage references downloaded from abstracting/indexing.
Collections Management Museums Reporting in KE EMu.
1 Access Lesson 6 Integrating Access Microsoft Office 2010 Introductory Pasewark & Pasewark.
Reporting in EMu Crystal != Reporting or Why is reporting so difficult and can we do anything about it? Bernard Marshall KE Software.
Class Instructor Name Date. Classroom Tips Class Roster – Please Sign In Class Roster – Please Sign In Internet Usage Internet Usage –Breaks and Lunch.
Common Word Processors A comparison
MDS-NX The next generation of MDS... MDS-NX Overview.
Design Tips for PowerPoint Projects for Ms. Birtcher’s Classes.
Verified Network Configuration. Verinec Goals Device independent network configuration Automated testing of configuration Automated distribution of configuration.
Robin Mullinix Systems Analyst GeorgiaFIRST Financials PeopleSoft Query: The Next Step.
Review 2 – Adobe Flash Lab Manual
U3A General Computing Class Autumn 2014 Week 4 of 10 weeks. Mondays 4:15 to 5:45 pm Half Term – Miss 27th of October 2014 and 3 rd November. Class dates.
HTML HTML stands for Hyper Text Markup Language. HTML is used in making the base of a Website You can just use an online website maker like weebly.com.
Data Exchange Framework
Сивова Дарья МГУП, CorelDRAW is a vector graphics editor developed and marketed by Corel Corporation of Ottawa, Canada. It is also the name of Corel's.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Application software Word processing 1. Application software  Some types:  Document production:  Word-processing, desktop publishing, web page authoring.
1 Niklas Nebel Sun Microsystems NEW FEATURES IN CALC
Storing extension specific metadata in ODF documents - EuroOffice Map Chart Supporting grants: TECH_08-A2/ SZOMIN08;
Lotus Symphony Extension Model ● Jin Hua, Chen ● IBM.
10 Questions and Answers about.
IBM Lotus Symphony Documents, Presentations & Spreadsheets Guts Wissema -
Layercake: From UNO code to Writer Core
Import cell Styles into Calc using Orcus
LibreOffice Intro Name Surname
Product Training Program
Pertemuan 17 Programming Languages for E-Business/E-commerce
Please log on a computer Open the web and then Open four tabs…
Chapter 5 Productivity Applications
COLORS.
Data Virtualization Community Edition
LOCO Extract – Transform - Load
Data Virtualization Tutorial: XSLT and Streaming Transformations
Learning our elements of art!
Improving Braille accessibility and personalization on Internet
Information Communication and Technology Services
Finding out what is going on for beginners
Conference Presentation Template
FROM OUTLINE TO ESSAY.
Sample to correct Test box with subtitle.
Working with Data in Windows
An Introduction to Color
Average Number of Photons
Powerpoint Review.
TITLE LEFT ALIGNED HERE ALL CAPS
ADD YOUR TITLE HERE OPTION 01 OPTION 02 OPTION 03 OPTION 04
Presents: Rally To Java Conversion Suite
What Color is it?.
Cite Your Sources Easier and Faster with
Purpose and Types of Desktop publishing software
FROM OUTLINE TO ESSAY.
Best Practices for Designing Effective Map Services: Case Studies
Shell Jeopardy! Add your name here.
Bharat Prakash | Solutions Consultant
NO more homework for the year.
Grants Management Solution Suite (GMSS)
Chapter 1 Introducing Small Basic
FROM OUTLINE TO ESSAY.
Critical Thinking Hint: Don’t overthink things if the answer is right in front of you. You’ll have 90 Seconds to figure out the Answer to this Puzzle.
TITLE LEFT ALIGNED HERE ALL CAPS
TITLE LEFT ALIGNED HERE ALL CAPS
Excel 2007 Level 1 Cathy September 24, 2009
Presentation transcript:

Writing Import Filters for LibreOffice Fridrich Štrba, David Tardon (virtually) LibreOffice Productivity Suite

LibreOffice Productivity Suite Agenda Introduction to import filters Use of XSLT filter Example: Integration of a librevenge-based filter Example: setting up a new librevenge-based filter library LibreOffice Productivity Suite

Introduction to import filters You may add additional text here ... LibreOffice Productivity Suite

Why to write import filters? In an ideal world, everyone would just use ODF. However, we are not living in an ideal world. Proprietary document formats Legacy document formats We want to be nice and play along, even if others do not.

What options for writing import filters are there? XSLT filters “full-blown” filters Use one of the existing frameworks Librevenge Orcus (liborcus) Produce ODF (or Flat ODF) as intermediate format Directly use UNO Use internal LibreOffice structures Deprecated XMerge framework (only java)

XSLT filters Easiest to integrate Only for pure XML formats XSLT is not a good choice for anyting complex Only XSLT 1.0 is supported out-of-the box

Use one of the existing frameworks Librevenge (Document Liberation Project) Supports text, presentations, vector graphics and spreadsheets Uses ODF as itermediate format (libodfgen) A dozen of existing import libraries, supporting many formats: WordPerfect, MS Publisher, Visio and Works, CorelDRAW, Adobe PageMaker etc. Orcus (Kohei et al.) Supports spreadsheets Internally supports ODF, OpenXML, Gnumeric, CSV

Use one of the existing frameworks Easier to use than UNO Potentially unsupported features In our opinion the best choice for less important formats

Produce ODF as an intermediate format Slower, but there is no need to know any framework (or UNO) Existing filters: Lotus Word Pro (lotuswordpro) Hangul Writer (hwpfilter) It is probably easier to use librevenge instead

Directly use UNO Existing filters: OpenXML RTF ... Filters can be extensions openoffice.org-diafilter (Caolán)

Use internal LibreOffice structures Fastest, but a high potential to break things :-) Legacy filters (ww1, ww8, etc.) Hopefully nobody is considering doing that for a new filter :-) 'Nuff said LibreOffice Productivity Suite

Deprecated Xmerge framework Java only We removed all existing filters in 4.0 External filters could still exist (no idea about that)

You may add additional text here ... Use of XSLT filter You may add additional text here ... LibreOffice Productivity Suite

Integration of a librevenge-based filter You may add additional text here ... LibreOffice Productivity Suite

Filter configuration This is generic—the same configuration is needed for all non- XSLT filters

Filter description <node oor:name="Publisher Document" oor:op="replace">   <prop oor:name="Flags"> <value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value> </prop>   <prop oor:name="FilterService"> <value>com.sun.star.comp.Draw.MSPUBImportFilter</value>   <prop oor:name="UIName"> <value xml:lang="x-default">Microsoft Publisher 97-2010</value>   <prop oor:name="FileFormatVersion"> <value>0</value>   <prop oor:name="Type"> <value>draw_Publisher_Document</value>   <prop oor:name="DocumentService"> <value>com.sun.star.drawing.DrawingDocument</value> </node>

Setting up a new librevenge-based filter library You may add additional text here ... LibreOffice Productivity Suite

LibreOffice Productivity Suite Sources http://fridrich.blogspot.cz/2013/08/extending-swiss-army-knife- overview.html http://davetardon.wordpress.com/2014/05/06/writing-import- libraries-with-librevenge-part-i-getting-started/ LibreOffice Productivity Suite

LibreOffice Productivity Suite Pre-defined Shapes Here are some pre-defined shapes for your convenience: copy the shapes, copy their formatting, or use the LibO styles. Green Dark Green Bright You may add your code examples, XML statements, or debug output here ;-) Blue Dark Blue Bright Orange Dark Orange Bright Purple Dark Purple Bright Yellow Dark Yellow Bright LibreOffice Productivity Suite

LibreOffice Productivity Suite Thank you … … for not falling asleep! … for supporting LibreOffice! LibreOffice Productivity Suite