Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Tom ,

Copy the code in a Basic module and run !

Greetz

Fernand
Hi :)
I thought the original was asking for a list of all the filters available?

I think Fernand's coding gives a list of the filters in whichever version of libreOffice you happen to be running. As each new release comes out extra filters may have been added and apparently it is difficult to find documentation about which version has which filters. Sadly i have no idea how to run the coding even with the helpful comments! Hopefully you understand this better than me.
Regards from
Tom :)


--- On Mon, 9/1/12, filtered<zopyxfilter@googlemail.com>  wrote:

From: filtered<zopyxfilter@googlemail.com>
Subject: Re: [libreoffice-users] Re: Names of output filters? Name of HTML output filter?
To: users@global.libreoffice.org
Date: Monday, 9 January, 2012, 15:00

How is this related to my question?

-aj

Am 9. Januar 2012 14:47 schrieb Fernand Vanrie<sos@pmgroup.be>:

Tom,
With the API and some Basic code from the good old Danny B. can do the job
gives us a 65 pages writer Doc.
Hope its helps

Greetz

Ferand




Sub Main
     oFF = createUnoService( "com.sun.star.document.**FilterFactory" )
     oFilterNames = oFF.getElementNames()

     ' Now print the filter names.
'    For i = LBound( oFilterNames ) To UBound( oFilterNames )
'        Print oFilterNames(i)
'    Next

     ' Create a Writer doc and save the filter names to it.
     oDoc = StarDesktop.**loadComponentFromURL( "private:factory/swriter",
"_blank", 0, Array() )
     oText = oDoc.getText()
     oCursor = oText.createTextCursor()
     oCursor.gotoEnd( False )



     oText.insertString( oCursor, "Filter Names", False )
     oCursor.ParaStyleName = "Heading 1"
     InsertParaBreak( oText, oCursor )
     oCursor.ParaStyleName = "Default"
     InsertParaBreak( oText, oCursor )

     ' Print the filter names into a Writer document.
     For i = LBound( oFilterNames ) To UBound( oFilterNames )
         oText.insertString( oCursor, oFilterNames(i), False )
         InsertLineBreak( oText, oCursor )
     Next
     InsertParaBreak( oText, oCursor )



     InsertParaBreak( oText, oCursor )
     oText.insertString( oCursor, "Filter Names and their Properties", False
)
     oCursor.ParaStyleName = "Heading 1"
     InsertParaBreak( oText, oCursor )
     oCursor.ParaStyleName = "Default"

     ' Tab stops at:
     '        0.25 inch    (2.54 cm x 0.25)
     '        0.50 inch    (2.54 cm x 0.50)
     '        2.00 inch    (2.54 cm x 2.00)
     oCursor.ParaTabStops = Array(_
         MakeTabStop( 2540 * 0.25 ),_
         MakeTabStop( 2540 * 0.50 ),_
         MakeTabStop( 2540 * 2.00 ) )

     ' Print the filter names and their parameters.
     For i = LBound( oFilterNames ) To UBound( oFilterNames )
         InsertParaBreak( oText, oCursor )

         cFilterName = oFilterNames(i)
         aFilterProps = oFF.getByName( cFilterName )

         oText.insertString( oCursor, cFilterName, False )

         For j = LBound( aFilterProps ) To UBound( aFilterProps )
             oFilterProp = aFilterProps(j)

             InsertLineBreak( oText, oCursor )
             oText.insertString( oCursor, CHR(9)+oFilterProp.Name, False )

             nFilterPropValueVarType = VarType( oFilterProp.Value )
             If nFilterPropValueVarType = 8201 Then
                 ' VarType 8201 means a sequence of PropertyValue's.
                 oFilterPropNames = oFilterProp.Value
                 For k = LBound( oFilterPropNames ) To UBound(
oFilterPropNames )
                     InsertLineBreak( oText, oCursor )
                     oText.insertString( oCursor, CHR(9)+CHR(9)+**
oFilterPropNames(k).Name+CHR(**9)+CSTR(oFilterPropNames(k).**Value),
False )
                 Next k
             ElseIf nFilterPropValueVarType = 8200 Then
                 ' VarType 8200 means a sequence of Strings.
                 oFilterPropNames = oFilterProp.Value
                 For k = LBound( oFilterPropNames ) To UBound(
oFilterPropNames )
                     InsertLineBreak( oText, oCursor )
                     oText.insertString( oCursor, CHR(9)+CHR(9)+**oFilterPropNames(k),
False )
                 Next k
             ElseIf nFilterPropValueVarType>  1  And
   nFilterPropValueVarType<= 12 Then
                 oText.insertString( oCursor, CHR(9)+CSTR(oFilterProp.Value)
**, False )
             Else
                 oText.insertString( oCursor, CHR(9)+"?? unknown type ?? -
"+CSTR(**nFilterPropValueVarType), False )
             EndIf
         Next j

         InsertParaBreak( oText, oCursor )
     Next i

     InsertParaBreak( oText, oCursor )
End Sub

Sub InsertLineBreak( oText, oCursor )
     oText.insertControlCharacter( oCursor, com.sun.star.text.**ControlCharacter.LINE_BREAK,
False )
End Sub

Sub InsertParaBreak( oText, oCursor )
     oText.insertControlCharacter( oCursor, com.sun.star.text.**
ControlCharacter.PARAGRAPH_**BREAK, False )
End Sub


' Create and return a tab stop.
' An array of what this function returns, is used
'  to set the tab stops of a paragraph.
'
' Parameters....
'    nPosition - position in tab stop, in 1000'th of cm.
'    nAlign - optional, if specified, must be one of...
'                com.sun.star.style.TabAlign.**LEFT = 0
'                com.sun.star.style.TabAlign.**CENTER = 1
'                com.sun.star.style.TabAlign.**RIGHT = 2
'                com.sun.star.style.TabAlign.**DECIMAL = 3
'                com.sun.star.style.TabAlign.**DEFAULT = 4
'    cDecimalChar - optional, if specified, only applies to a DECIMAL tab
stop,
'                    and specified the character which is recognized as
'                    the decimal point separator.
'    cFillChar - optional, if specified, specifies the char that fills the
space
'                    between tab stops.
Function MakeTabStop( ByVal nPosition As Long,_
                         Optional nAlign,_
                         Optional cDecimalChar,_
                         Optional cFillChar _
                     ) As com.sun.star.style.TabStop
     If IsMissing( nAlign ) Then
         nAlign = com.sun.star.style.TabAlign.**LEFT
     EndIf

     oTabStop = createUnoStruct( "com.sun.star.style.TabStop" )

     oTabStop.Position = nPosition
     oTabStop.Alignment = nAlign

     If Not IsMissing( cDecimalChar ) Then
         oTabStop.DecimalChar = cDecimalChar
     EndIf
     If Not IsMissing( cFillChar ) Then
         oTabStop.FillChar = cFillChar
     EndIf

     MakeTabStop() = oTabStop
End Function






   Hi :)
All i could find was this wiki-page
http://help.libreoffice.org/**Common/About_Import_and_**Export_Filters<http://help.libreoffice.org/Common/About_Import_and_Export_Filters>
last updated in May so i think things are likely to have moved on quite a
lot!  Also i suspect there are add-ons/extensions that can add to the
list.

I tried looking up release notes
http://www.libreoffice.org/**download/release-notes/<http://www.libreoffice.org/download/release-notes/>
http://wiki.**documentfoundation.org/**ReleaseNotes/3.5<http://wiki.documentfoundation.org/ReleaseNotes/3.5>
which led me to
http://wiki.**documentfoundation.org/**Releases/3.4.4_info_about_**fixes<http://wiki.documentfoundation.org/Releases/3.4.4_info_about_fixes>
but there is not much detail listed in there.  mostly it seems
broad-brushstrokes rather than fine-grained detail .

Apols and regards from
Tom :)

--
View this message in context: http://nabble.**
documentfoundation.org/Names-**of-output-filters-Name-of-**
HTML-output-filter-**tp3639830p3644521.html<http://nabble.documentfoundation.org/Names-of-output-filters-Name-of-HTML-output-filter-tp3639830p3644521.html>
Sent from the Users mailing list archive at Nabble.com.


--
For unsubscribe instructions e-mail to: users+help@global.libreoffice.**
org<users%2Bhelp@global.libreoffice.org>
Problems? http://www.libreoffice.org/**get-help/mailing-lists/how-to-**
unsubscribe/<http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/>
Posting guidelines + more: http://wiki.**documentfoundation.org/**
Netiquette<http://wiki.documentfoundation.org/Netiquette>
List archive: 
http://listarchives.**libreoffice.org/global/users/<http://listarchives.libreoffice.org/global/users/>
All messages sent to this list will be publicly archived and cannot be
deleted




--
For unsubscribe instructions e-mail to: users+help@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.