This is a discussion on textarea fields --> export to ms word --> word is stretch within the alt.comp.lang.php forums, part of the PHP Programming Forums category; "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message news:1172854530_4409@sp6iad.superfeed.net... | ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
"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. |
|
|||
|
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 |
|
|||
|
"shimmyshack" <matt.farey@gmail.com> wrote in message news:1172881709.674361.292140@31g2000cwt.googlegro ups.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. |
|
|||
|
On 3 Mar, 03:20, "Steve" <no....@example.com> wrote:
> "shimmyshack" <matt.fa...@gmail.com> wrote in message > > news:1172881709.674361.292140@31g2000cwt.googlegro ups.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... |
|
|||
|
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. Posted Via Usenet.com Premium Usenet Newsgroup Services ---------------------------------------------------------- ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY ** ---------------------------------------------------------- http://www.usenet.com |
|
|||
|
"Steve" <no.one@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 |
![]() |
| Thread Tools | |
| Display Modes | |
|
|