Re: [PHP-DB] formatting a word doc using php ?

2010-09-20 Thread Richard Quadling
On 17 September 2010 21:41, Vinay Kannan  wrote:
> Hello Xperts,
>
> I am trying out a couple of things and have come across this requirement,
> where in a php script should create a doc file with specific formatting, I
> can create the file, havent tried it yet, but shouldnt be a problem I guess,
> but how do I format the doc file is the question, google search didnt give
> good results too :( So not even sure if it can be done actually.
>
> Thanks,
> Vinay
>

Depending upon the version of document you want to create you have 3
mechanisms available.

1 : To use the older style doc format which is a proprietary binary
format controlled by Microsoft and has been reversed engineered (to a
degree) by various developers and you can find many instances of
php/word tools.
2 : To use the newer style xml format which is fully human readable.
3 : Use PHP's COM interface to interact with an instance of MS Word.

Each has its merits and really depends upon how complex you want to go.

For example, option 3 allows you to do everything that you can do
manually. If you can record a macro doing it in Word, then you can
script it in PHP. Learning a little bit about TypeLibraries and
reading the VBA documentation for Word will certainly help you there.
The main downside here is you need to have a license for Word and to
be using Windows. I use PHP's COM for interacting with Crystal Reports
Developer Edition. I've not built a report from scratch using PHP, but
that is available to me. Just like it is with MS Word. Using a
template, you can easily use PHP's COM to talk to Word, create a new
document from the template, do search and replace of bookmarks with
text and finally save the document.

Below is an example of reading a word count from a document called
Z:\5words.doc.

Visible = 0;

$o_Doc = $o_Word->Documents->Open('z:/5words.doc');
echo 'There are ', $o_Doc->BuiltInDocumentProperties(wdPropertyWords),
' word(s) in this document.';
$o_Doc->Close(False);
$o_Word->Quit();
unset($o_Doc);
unset($o_Word);
?>

Using Option 2 means learning how MS have defined their document.
Styling, etc. isn't like it is in old style HTML (bold), but
more like (but not exactly) using CSS tags (bold).


Using Option 1 means you will be limited to whatever has been reverse
engineered. And when the binary format changes (though less likely now
due to the XML route), then you'd have to be waiting on the developer
to fix the code first.


If XML is in your capability, then I'd go with that at a first
attempt, then the third party class and finally the COM.

Richard.

-- 
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] formatting a word doc using php ?

2010-09-17 Thread Aleksei Sapunov
Guys, is it a joke?
May be you need to choose right list carefully?

2010/9/18 Ashay Chaudhary 

> http://phpword.codeplex.com/
>
> I haven't used it myself, but it is open source (LGPL) so you can check out
> the code and tweak it as necessary. It's based on the PHPExcel work done by
> Maarten, who's an incredibly smart guy.
>
> : Ashay
>
> -Original Message-
> From: Vinay Kannan [mailto:viny...@gmail.com]
> Sent: Friday, September 17, 2010 1:42 PM
> To: PHP DB
> Subject: [PHP-DB] formatting a word doc using php ?
>
> Hello Xperts,
>
> I am trying out a couple of things and have come across this requirement,
> where in a php script should create a doc file with specific formatting, I
> can create the file, havent tried it yet, but shouldnt be a problem I guess,
> but how do I format the doc file is the question, google search didnt give
> good results too :( So not even sure if it can be done actually.
>
> Thanks,
> Vinay
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


RE: [PHP-DB] formatting a word doc using php ?

2010-09-17 Thread Ashay Chaudhary
http://phpword.codeplex.com/

I haven't used it myself, but it is open source (LGPL) so you can check out the 
code and tweak it as necessary. It's based on the PHPExcel work done by 
Maarten, who's an incredibly smart guy.

: Ashay

-Original Message-
From: Vinay Kannan [mailto:viny...@gmail.com] 
Sent: Friday, September 17, 2010 1:42 PM
To: PHP DB
Subject: [PHP-DB] formatting a word doc using php ?

Hello Xperts,

I am trying out a couple of things and have come across this requirement, where 
in a php script should create a doc file with specific formatting, I can create 
the file, havent tried it yet, but shouldnt be a problem I guess, but how do I 
format the doc file is the question, google search didnt give good results too 
:( So not even sure if it can be done actually.

Thanks,
Vinay

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php