You are here: Re: textarea fields --> export to ms word --> word is stretch « All PHP « IT news, forums, messages
Re: textarea fields --> export to ms word --> word is stretch

Posted by shimmyshack on 03/03/07 07:12

On 3 Mar, 03:20, "Steve" <no....@example.com> wrote:
> "shimmyshack" <matt.fa...@gmail.com> wrote in message
>
> news:1172881709.674361.292140@31g2000cwt.googlegroups.com...
> | On 3 Mar, 16:25, "Eric Layman" <namyalcire[at no spam]gmail.com>| wrote:
>
> | > "Steve" <no....@example.com> wrote in message
> | >
> | >news:COYFh.23$0P1.20@newsfe06.lga...
> | >
> | >
> | >
> | >
> | >
> | > > "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message
> | > >news:1172854530_4409@sp6iad.superfeed.net...
> | > > | Hi,
> | > > |
> | > > | I have fields from textareas.
> | > > |
> | > > | With a click of a button, php is able to grab these fields and by
> using
> | > > | header(), convert the output to Ms Word doc.
> | > > |
> | > > | But the outcome of the word doc doesn't wrap the text in textarea.
> | > > |
> | > > | the result is one very veyr long string of text which stretch MS
> word
> | > > all
> | > > | the way
> | > > |
> | > > | how to over come that?
> | > > |
> | > > | I've tried different wrap attributes.
> | >
> | > > hard to say without looking at the code you're using.
> | >
> | > > are you on a windows server? are you creating a com ms word doc object
> and
> | > > putting the text in that way? or, are you creating a standard text
> file
> | > > and
> | > > calling it word (i.e. someDoc.doc or setting the header for the
> browser as
> | > > an ms word doc)?
> | >
> | > > if on windows, i'd go the com route and remove any soft-returns that
> may
> | > > be
> | > > in the text. then, i'd use word's om to format the boundries, color,
> font,
> | > > etc. of the text as it should appear in word. what is word's om? the
> | > > easiest
> | > > way to get what you need is to open word, record a macro, type and
> format
> | > > some text the way you want it to look as if it were really your
> output,
> | > > stop
> | > > recording your macro. from there, just edit the macro. you will see
> the
> | > > source code and see all the methods/properties you will need to know
> and
> | > > work with. problem solved.
> | >
> | > > if not on windows, i'd get a good conversion tool, and even think
> about
> | > > using xml/xslt as an abstraction layer. that combination will allow
> you
> | > > not
> | > > only to convert to word but to pdf and others as well.
> | >
> | > > anyway, hth.
> | >
> | > Thanks Steve.
> | >
> | > Let me explain further:
> | >
> | > I have a form which has textareas and allows user inputs which saves to
> | > mysql database.
> | >
> | > The administrator is able to view these textarea inputs by clicking a
> | > button. This button will pull out these information and generate a word
> | > document.
> | >
> | > Problem is that when word documents are generated, the text in these
> word
> | > documents are stretchhhhhhhhhhhhhhhhhhhhhhhhhhhhhh till the very extreme
> | > right end.
> | >
> | > These texts in the word doc are the data that is keyed in by end users
> via
> | > the textarea.
> | >
> | > It seems that the generated word doc is not able to capture the
> linebreaks
> | > within the textarea.
> | >
> | > Pls advise.
> | >
> | > Thanks
> | >
> | > Posted Via Usenet.com Premium Usenet Newsgroup Services
> | > ----------------------------------------------------------
> | > ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
> | > ----------------------------------------------------------
> | > http://www.usenet.com
> |
> | you can simply exchange the \n style line breaks from the textarea to
> | \r style line breaks or \r\n style.
> |
> | However to immediately create word docs with absolutely minimal
> | memory, and no need to start up a COM instance of word, just create a
> | word doc and style it as you wish the admin to see, then put some text
> | in the place where the textarea text will be. Put something easy to
> | spot like ************_______********
> | then save as RTF, open in text edito and swap the
> | ************______******** for {$TEXT}
> | then start the whole page off using
> | <?php $rtf = <<<RTF
> | and end it with
> | RTF;
> |
> | this then you save as rtfdoc.php
> | and now you just take the textarea as $TEXT and set the header content
> | type msword, and include rtfdoc.php and echo it
> | if you serve the stream gzipped it will come out much smaller than an
> | actual word doc.
> | the whole thing works immediately and of course is rendered in word
> | just the same as a doc.
> | It works on linux server too, and can be opened in all version of
> | word, openoffice wordpad whatever.
> |
> | just a thought for the future
>
> that's a great thought...i suppose a replace is much easier to do and not
> platform dependent.

yes, you can make really show stopping docs this way in 0.1secs! The
only thing that complicates this method is when you have a multipage
document, or start inserting hyperlinks - you have to know or be
prepared to stare at the raw RTF source for a bit to work out where
the page break is and what commands can be used to insert that link
(but RTF is an open format after M$ released it), looping round adding
content finishing off with "continued..." if it isn't quite the end of
the doc.
The real show stopper is embedded images, this is where using the
binary word format wins because the included image can be binary too,
in an RTF the image has to be base64 encoded which makes the byte
count for the image much bigger of course - rather annoying, gzipping
helps but it doesn't quite work, particularly for 1MB images - forget
that!
For those interested this method is the same for open office
documents, just make your OO doc, unzip the files to a directory, and
use the contents.xml as the strings you will replace an array of
output text into, then zip the whole thing up on the fly and serve as
an sxw, again it is super quick and platform independent.
I feel like I am advocating the use of a upsidedown underwater pencil,
but if you find yourself on unix with no access to office with a
server license...

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация