Difference between revisions of "PrinttoWriter.py"
Line 128: | Line 128: | ||
oOutput.write( 741 ) | oOutput.write( 741 ) | ||
oOutput.writeLn()</code> | oOutput.writeLn()</code> | ||
+ | == Explanation == |
Revision as of 21:17, 17 January 2007
Danny.OOo.PrintToWriter.py
This makes it easy and convenient to print a bunch of text into a Writer document.
See the example routine in the module that shows how easy this module is to use, and how useful it can be.
[python]
- Danny.OOo.PrintToWriter.py
- This makes it easy and convenient to print a bunch of text into
- a Writer document.
-
- Copyright (c) 2003-2004 Danny Brewer
- d29583@groovegarden.com
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- See: http://www.gnu.org/licenses/lgpl.html
-
- If you make changes, please append to the change log below.
- Change Log
- Danny Brewer Revised 2004-06-05-01
-
- OOo's libraries
import uno
- Danny's libraries
from Danny.OOo.OOoLib import StarDesktop
com_sun_star_text_ControlCharacter_PARAGRAPH_BREAK = uno.getConstantByName( "com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK" )
com_sun_star_text_ControlCharacter_LINE_BREAK = uno.getConstantByName( "com.sun.star.text.ControlCharacter.LINE_BREAK" )
com_sun_star_text_ControlCharacter_HARD_HYPHEN = uno.getConstantByName( "com.sun.star.text.ControlCharacter.HARD_HYPHEN" )
com_sun_star_text_ControlCharacter_SOFT_HYPHEN = uno.getConstantByName( "com.sun.star.text.ControlCharacter.SOFT_HYPHEN" )
com_sun_star_text_ControlCharacter_HARD_SPACE = uno.getConstantByName( "com.sun.star.text.ControlCharacter.HARD_SPACE" )
com_sun_star_text_ControlCharacter_APPEND_PARAGRAPH = uno.getConstantByName( "com.sun.star.text.ControlCharacter.APPEND_PARAGRAPH" )
class PrintToWriter:
"""A class which allows conveniently printing stuff into a Writer document. Very useful for debugging, general output purposes, or even for creating reports.""" def __init__( self ): self.oWriterDoc = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_blank", 0, () ) self.oWriterText = self.oWriterDoc.getText() self.oWriterCursor = self.oWriterText.createTextCursor()
def writeLn( self, *args ): if len( args ) > 0: apply( self.write, args ) self.writeParagraphBreak()
def write( self, arg1, *argsRest ): self.writeOne( arg1 ) for arg in argsRest: self.writeTab() self.writeOne( arg )
def writeOne( self, arg, bAbsorb=False ): self.writeString( str( arg ), bAbsorb )
def writeTab( self, bAbsorb=False ): self.writeString( "\t", bAbsorb )
def writeParagraphBreak( self, bAbsorb=False ): self.writeControlCharacter( com_sun_star_text_ControlCharacter_PARAGRAPH_BREAK, bAbsorb )
def writeString( self, cString, bAbsorb=False ): self.oWriterText.insertString( self.oWriterCursor, cString, bAbsorb )
def writeControlCharacter( self, nCtrlChar, bAbsorb=False ): self.oWriterText.insertControlCharacter( self.oWriterCursor, nCtrlChar, bAbsorb )
def example_PrintToWriter():
"""An example of how to use the PrintToWriter class to trivially create a new Writer document, and write out text into it.""" oOutput = PrintToWriter() oOutput.writeLn( "Hello World" ) oOutput.write( "String", 123, 456.23, True ) oOutput.writeLn() oOutput.writeLn()
oOutput.writeLn( "Tab delimited values..." ) oOutput.write( 123 ) oOutput.writeTab() oOutput.write( 456 ) oOutput.writeTab() oOutput.write( 789 ) oOutput.writeLn() oOutput.write( 465 ) oOutput.writeTab() oOutput.write( 522 ) oOutput.writeTab() oOutput.write( 835 ) oOutput.writeLn() oOutput.write( 886 ) oOutput.writeTab() oOutput.write( 164 ) oOutput.writeTab() oOutput.write( 741 ) oOutput.writeLn()