textarea fields --> export to ms word --> word is stretch

Discussion in 'HTML' started by Steve, Mar 2, 2007.

  1. Steve

    Steve Guest

    "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message
    news:...
    | 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.
    Steve, Mar 2, 2007
    #1
    1. Advertising

  2. Eric Layman wrote:

    > With a click of a button, php is able to grab these fields and by using
    > header(), convert the output to Ms Word doc.


    The PHP header() function does no such thing -- it simply sends an HTTP
    header. You might be able to use an HTTP header to convince a browser to
    open a plain text file in Word, but the file is not really a Word file.

    Similarly, I'd guess you could use the same trick to send an HTML file to
    Word instead of sending a plain text file. So just add a few HTML tags
    into your output and Word's heuristics ought to auto-detect that it's
    HTML, and do line wrapping.

    --
    Toby A Inkster BSc (Hons) ARCS
    Contact Me ~ http://tobyinkster.co.uk/contact
    Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux

    * = I'm getting there!
    Toby A Inkster, Mar 2, 2007
    #2
    1. Advertising

  3. Steve

    shimmyshack Guest

    On 3 Mar, 16:25, "Eric Layman" <namyalcire[at no spam]gmail.com>
    wrote:
    > "Steve" <> wrote in message
    >
    > news:COYFh.23$...
    >
    >
    >
    >
    >
    > > "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message
    > >news:...
    > > | 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, Mar 3, 2007
    #3
  4. Steve

    Steve Guest

    "shimmyshack" <> wrote in message
    news:...
    | On 3 Mar, 16:25, "Eric Layman" <namyalcire[at no spam]gmail.com>
    | wrote:
    | > "Steve" <> wrote in message
    | >
    | > news:COYFh.23$...
    | >
    | >
    | >
    | >
    | >
    | > > "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message
    | > >news:...
    | > > | 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.
    Steve, Mar 3, 2007
    #4
  5. Steve

    shimmyshack Guest

    On 3 Mar, 03:20, "Steve" <> wrote:
    > "shimmyshack" <> wrote in message
    >
    > news:...
    > | On 3 Mar, 16:25, "Eric Layman" <namyalcire[at no spam]gmail.com>| wrote:
    >
    > | > "Steve" <> wrote in message
    > | >
    > | >news:COYFh.23$...
    > | >
    > | >
    > | >
    > | >
    > | >
    > | > > "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message
    > | > >news:...
    > | > > | 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...
    shimmyshack, Mar 3, 2007
    #5
  6. Steve

    Eric Layman Guest

    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
    Eric Layman, Mar 3, 2007
    #6
  7. Steve

    Eric Layman Guest

    "Steve" <> wrote in message
    news:COYFh.23$...
    >
    > "Eric Layman" <namyalcire[at no spam]gmail.com> wrote in message
    > news:...
    > | 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
    Eric Layman, Mar 3, 2007
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Tyrant Mikey

    How to Stretch DataGrid at Runtime?

    Tyrant Mikey, Feb 18, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    336
    Joshua Flanagan
    Feb 28, 2005
  2. Replies:
    2
    Views:
    619
    Jonathan N. Little
    May 25, 2007
  3. Augustus
    Replies:
    1
    Views:
    350
    Ken Schaefer
    Sep 10, 2003
  4. Textarea Inside of a textarea

    , Feb 4, 2006, in forum: ASP General
    Replies:
    6
    Views:
    326
    Anthony Jones
    Feb 5, 2006
  5. Replies:
    1
    Views:
    308
    Bart Van der Donck
    Jul 4, 2007
Loading...

Share This Page