note 44625 modified in ref.com by danbrown
| From: | danbrown@php.net | Date: | Mon, 21 Dec 2009 17:10:27 +0000 |
| Subject: | note 44625 modified in ref.com by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-164212@lists.php.net to get a copy of this message | ||
For those of us that are not experts with object models, if you have Microsoft Excel or Microsoft
Word available, go into the Visual Basic Editor (Alt+F11). Now you can open the object browser
window (F2) and see what you find.
If you select "Word" in the object browser, then the classes and members of that class are
displayed below. For example, if you click on "Selection" in the classes column, and then
"Font" in the members column, you will then see "Property Font As Font Member of
Word.Selection" displayed at the bottom. Click on the "Font" link there.
Click on Word "Selection" again in the classes column, and then "PageSetup" in
the members column, you will then see "Property PageSetup As PageSetup Member of
word.Selection" displayed at the bottom. Click on the "PageSetup" link there.
Using the above examples, you can now formulate your Word Document from php. Here is a simple
example that creates a 1 & 1/2" space for text based on the margin settings & with dark
red text and an 8pt Helvetica font face:
<?php
$content = "Insert Sample Text Here\n\nThis starts a new paragraph line.";
$word= new COM("word.application") or die("Unable to create Word document");
print "Loaded Word, version {$word->Version}\n";
$word->Visible = 0;
$word->Documents->Add();
$word->Selection->PageSetup->LeftMargin = '3"';
$word->Selection->PageSetup->RightMargin = '4"';
$word->Selection->Font->Name = 'Helvetica';
$word->Selection->Font->Size = 8;
$word->Selection->Font->ColorIndex= 13; //wdDarkRed = 13
$word->Selection->TypeText("$content");
$word->Documents[1]->SaveAs("some_tst.doc");
$word->quit();
echo "done";
?>
This example (and others) worked for me with Microsoft Word 10.0 Object Library (MS Word 2002),
Apache & PHP on Windows XP. Experimenting using the Visual Basic editor will yield some amazing
documents from PHP as it will help you see the relationships of the objects used and give you an
idea as to how to construct your code. But be prepared for an occaisional PHP.exe crash if your code
is way off base.
Hope this helps!
--was--
For those of us that are not experts with object models, if you have Microsoft Excel or Microsoft
Word available, go into the Visual Basic Editor (Alt+F11). Now you can open the object browser
window (F2) and see what you find.
If you select "Word" in the object browser, then the classes and members of that class are
displayed below. For example, if you click on "Selection" in the classes column, and then
"Font" in the members column, you will then see "Property Font As Font Member of
Word.Selection" displayed at the bottom. Click on the "Font" link there.
Click on Word "Selection" again in the classes column, and then "PageSetup" in
the members column, you will then see "Property PageSetup As PageSetup Member of
word.Selection" displayed at the bottom. Click on the "PageSetup" link there.
Using the above examples, you can now formulate your Word Document from php. Here is a simple
example that creates a 1 & 1/2" space for text based on the margin settings & with dark
red text and an 8pt Helvetica font face:
$content = "Insert Sample Text Here\n\nThis starts a new paragraph line.";
$word= new COM("word.application") or die("Unable to create Word document");
print "Loaded Word, version {$word->Version}\n";
$word->Visible = 0;
$word->Documents->Add();
$word->Selection->PageSetup->LeftMargin = '3"';
$word->Selection->PageSetup->RightMargin = '4"';
$word->Selection->Font->Name = 'Helvetica';
$word->Selection->Font->Size = 8;
$word->Selection->Font->ColorIndex= 13; //wdDarkRed = 13
$word->Selection->TypeText("$content");
$word->Documents[1]->SaveAs("some_tst.doc");
$word->quit();
echo "done";
This example (and others) worked for me with Microsoft Word 10.0 Object Library (MS Word 2002),
Apache & PHP on Windows XP. Experimenting using the Visual Basic editor will yield some amazing
documents from PHP as it will help you see the relationships of the objects used and give you an
idea as to how to construct your code. But be prepared for an occaisional PHP.exe crash if your code
is way off base.
Hope this helps!
http://php.net/manual/en/ref.com.php