Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > whitespace in a word doc

Reply
Thread Tools

whitespace in a word doc

 
 
Bruce
Guest
Posts: n/a
 
      07-15-2010
I'm trying to create a word doc using win32com. I don't get the same
whitespace as when printing the same stuff in the dos window. At the
terminal I manage to line up the second column like

apples 5
pears 7

I do this by adding whitespace characters to the strings in the first
column so that their length is equal to that of the longest string in
the first column.

I print the excact same string to word. but in the word doc somehting
happens that messes things up like this :

apples 5
pears 7

Needless to say, this is extremely frustrating. But why does it
happen, and how can I align the column in word?
 
Reply With Quote
 
 
 
 
Tim Golden
Guest
Posts: n/a
 
      07-15-2010
On 15/07/2010 08:45, Bruce wrote:
> I'm trying to create a word doc using win32com. I don't get the same
> whitespace as when printing the same stuff in the dos window. At the
> terminal I manage to line up the second column like
>
> apples 5
> pears 7
>
> I do this by adding whitespace characters to the strings in the first
> column so that their length is equal to that of the longest string in
> the first column.
>
> I print the excact same string to word. but in the word doc somehting
> happens that messes things up like this :
>
> apples 5
> pears 7
>
> Needless to say, this is extremely frustrating. But why does it
> happen, and how can I align the column in word?


Couple of things which will help us to help you:

1) Consider what's going on *without* Python: if you take the exact
same text and spaces and type it into a Word document, does the same
thing happen? If so, then there is something of a gap in your understanding
of how Word arranges spaces, especially with proportional fonts.

2) If the text looks fine when you type it in but dodgy when programmed
in from Python, post the code here. If there's an issue with the way
your code is doing what its' doing, we need to see the code to work
that out. (Usually).

If you want things to line up in columns in Word, you probably want to
do one of two things (possibly both): use a fixed-width font, eg Courier
New;
use Word tables. If you go the latter route, it can sometimes be easier to
generate the equivalent HTML and then ask Word to open it directly. Depends.


TJG
 
Reply With Quote
 
 
 
 
Bruce
Guest
Posts: n/a
 
      07-15-2010
On Jul 15, 9:59*am, Tim Golden <(E-Mail Removed)> wrote:
> On 15/07/2010 08:45, Bruce wrote:
>
>
>
>
>
> > I'm trying to create a word doc using win32com. I don't get the same
> > whitespace as when printing the same stuff in the dos window. At the
> > terminal I manage to line up the second column like

>
> > apples * * * * *5
> > pears * * * * * *7

>
> > I do this by adding whitespace characters to the strings in the first
> > column so that their length is equal to that of the longest string in
> > the first column.

>
> > I print the excact same string to word. but in the word doc somehting
> > happens that messes things up like this :

>
> > apples * * * * * * * * * * * *5
> > pears * * * * * * * 7

>
> > Needless to say, this is extremely frustrating. But why does it
> > happen, and how can I align the column in word?

>
> Couple of things which will help us to help you:
>
> 1) Consider what's going on *without* Python: if you take the exact
> same text and spaces and type it into a Word document, does the same
> thing happen?


Yes. Now using courier new. Thanks.
 
Reply With Quote
 
Grant Edwards
Guest
Posts: n/a
 
      07-15-2010
On 2010-07-15, Bruce <(E-Mail Removed)> wrote:

> I'm trying to create a word doc using win32com.


Unfortunately the phrase "word doc" is meaningless.

Exactly what format file are you trying to generate? For example: Word97 "doc" or the
new "docx" format?

> I don't get the same whitespace as when printing the same stuff in
> the dos window. At the terminal I manage to line up the second column
> like
>
> apples 5
> pears 7
>
> I do this by adding whitespace characters to the strings in the first
> column so that their length is equal to that of the longest string in
> the first column.


Are you just generating an ASCII text file and then opening it in
word?

> I print the excact same string to word. but in the word doc somehting
> happens that messes things up like this :
>
> apples 5
> pears 7
>
> Needless to say, this is extremely frustrating. But why does it
> happen, and how can I align the column in word?


Why? Because word is using a viable-spaced font and the "dos window"
uses a fixed-width font.

If you want any control over the appearance of the document, you'll
have to either force word to open the file in a fixed-width font, or
you'll have to generate a file that contains formatting information.
What you appear to want is a table.

Generating RTF has worked well for me in the past:

http://code.google.com/p/pyrtf-ng/
http://pyrtf.sourceforge.net/

An enahanced version of pyRTF that supports EMF graphics and scaling
of graphics is available here:

http://www.panix.com/~grante/files/p...TF-0.46.tar.gz

If you want to generate graphics, this might be worth a look

http://pyemf.sourceforge.net/

You might also be able to generate HTML and then open that file using
Word.


--
Grant Edwards grant.b.edwards Yow! The Osmonds! You are
at all Osmonds!! Throwing up
gmail.com on a freeway at dawn!!!
 
Reply With Quote
 
Dennis Lee Bieber
Guest
Posts: n/a
 
      07-16-2010
On Thu, 15 Jul 2010 14:10:40 +0000 (UTC), Grant Edwards
<(E-Mail Removed)> declaimed the following in
gmane.comp.python.general:


>
> If you want any control over the appearance of the document, you'll
> have to either force word to open the file in a fixed-width font, or
> you'll have to generate a file that contains formatting information.
> What you appear to want is a table.
>

Or something with defined tab stops, and use a tab instead of
counting spaces.
--
Wulfraed Dennis Lee Bieber AF6VN
http://www.velocityreviews.com/forums/(E-Mail Removed) HTTP://wlfraed.home.netcom.com/

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Structure using whitespace vs logical whitespace cmdrrickhunter@yaho.com Python 10 12-16-2008 03:51 PM
.pdf doc to word doc PWB Computer Support 14 09-19-2008 10:41 PM
Whitespace where I don't want whitespace! Oli Filth HTML 9 01-17-2005 08:47 PM
String[] files = {"a.doc, b.doc"}; VERSUS String[] files = new String[] {"a.doc, b.doc"}; Matt Java 3 09-17-2004 10:28 PM
Parsing MS Word client doc into server-side doc... John Wallace ASP .Net 0 07-22-2003 06:49 PM



Advertisments