WriterFilter
Contents
Download Install Sets for Current Milestone
We provide downloads for the current milestone (Solaris SPARC, Linux and Windows) here:
http://ooo.services.openoffice.org/pub/OpenOffice.org/cws/upload/writerfilter2/
Getting Current Source Code for WriterFilter
WriterFilter is currently not included in the build system. You have to check it out manually:
cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs co sw/writerfilter
Installing WriterFilter
Prerequisites
The current CWS for WriterFilter is writerfilter2
. Have a look in EIS for details on the CWS.
You will need an installed StarOffice/OOo and the following projects:
- comphelper
- filter
- jurt
- offapi
- offuh
- scp2
- svtools
- svx
- sw
Compile these projects and deliver the libraries to your installation in <SOINST>
.
Changing Filter Detection
In
<SOINST>/share/registry/modules/org/openoffice/TypeDetection/Filter/fcfg_writer_filters.xcu
add node with attribute oor:name="MS Word 97"
:
<node oor:name="MS Word 97" oor:op="replace"> <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER</value></prop> <prop oor:name="UIComponent"/> <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.WriterFilter</value></prop> <prop oor:name="UserData"><value>CWW8</value></prop> <prop oor:name="UIName"> <value xml:lang="x-default">Microsoft Word 97/2000/XP (new)</value> </prop> <prop oor:name="FileFormatVersion"><value>0</value></prop> <prop oor:name="Type"><value>writer_MS_Word_97</value></prop> <prop oor:name="TemplateName"/> <prop oor:name="DocumentService"><value>com.sun.star.text.TextDocument</value></prop> </node>
Remember to grant yourself write access to the xcu.
Create Resource Database for New Intefaces
Note: This is only necessary if you do not use CWS writerfilter2.
Generate resource database for new interfaces: In offapi/<platform>/ucr/com/sun/star/text
call
regmerge /tmp/merge.rdb -UCR XTextAppend.urd
Register New Interfaces
Note: Again, only necessary if not using the CWS writerfilter2.
In <SOINST>/program
call
./unopkg add /tmp/merge.rdb
Register filter component
In <SOINST>/program
call
chmod u+w services.rdb regcomp -register -r services.rdb -c <writerfilter lib>
Now, if you load a file recognized as "Word 97", WriterFilter will be used.
Documentation
- Documentation generated by Doxygen (will be available soon)
Debug tokenizers
You will need an installation of OpenOffice.org with the libraries from writerfilter delivered into the $SOINST/program directory.
Dump WW8 tokens
$SOINST/program/uno -l libwriterfilter.uno.so -c debugservices.doctok.ScannerTestService -- file://...
Dump OOXML tokens
$SOINST/program/uno -l libwriterfilter.uno.so -c debugservices.ooxml.ScannerTestService -- file://...
Notes
The properties of sprm 0x6a03 (sprmCPicLocation) have to be resolved. Otherwise the FC of the picture to come is not stored.