Hi there,
Is it possible to have an existing word document on the server, and then use PHP to modify it?
For example, the word document on the server has this in it:
Amount: [amount]
And then I could use PHP to replace the [amount] field without overwriting the exisiting document (Create a new .doc file). E.g:
Amount: 500
Is this possible? if so how?
Entering Text Into Word Document
Moderator: General Moderators
here is an article that ongray found the other day for dealing with com objects and php4, specifically dealing with word, exel, and adobe.
http://www.phpbuilder.net/columns/alain ... hp3?page=1
I've read it and it seems pretty good.
http://www.phpbuilder.net/columns/alain ... hp3?page=1
I've read it and it seems pretty good.
Thanks guys!
I've decided to sue the COM to change a html document into a word document. here's my code:
Now that works fine but when it converts it into the word doc, it stuffs up all the margins and pushes the table off the paper.
Any ideas on changing the margins dynamicly?
I've decided to sue the COM to change a html document into a word document. here's my code:
Code: Select all
<?php
// msword.inc.php
// NOTE: Using COM with windows NT/2000/XP with apache as a service
// - Run dcomcnfg.exe
// - Find word application and click properties
// - Click the Security tab
// - Use Custom Access Permissions
// - Add the user who runs the web server service
// - Use Custom Launch permissions
// - Add the user who runs the web server service
$wdFormatDocument = 0;
$wdFormatTemplate = 1;
$wdFormatText = 2;
$wdFormatTextLineBreaks = 3;
$wdFormatDOSText = 4;
$wdFormatDOSTextLineBreaks = 5;
$wdFormatRTF = 6;
$wdFormatUnicodeText = 7;
$wdFormatHTML=8;
class MSWord
{
// Vars:
var $handle;
// Create COM instance to word
function MSWord($Visible = false)
{
$this->handle = new COM("word.application") or die("Unable to instanciate Word");
$this->handle->Visible = $Visible;
}
// Open existing document
function Open($File)
{
$this->handle->Documents->Open($File);
}
// Create new document
function NewDocument()
{
$this->handle->Documents->Add();
}
// Write text to active document
function WriteText( $Text )
{
$this->handle->Selection->Typetext( $Text );
}
// Number of documents open
function DocumentCount()
{
return $this->handle->Documents->Count;
}
// Save document as another file and/or format
function SaveAs($File, $Format = 0 )
{
$this->handle->ActiveDocument->SaveAs($File, $Format);
}
// Save active document
function Save()
{
$this->handle->ActiveDocument->Save();
}
// close active document.
function Close()
{
$this->handle->ActiveDocument->Close();
}
// Get word version
function GetVersion()
{
return $this->handle->Version;
}
// get handle to word
function GetHandle()
{
return $this->handle;
}
// Clean up instance with word
function Quit()
{
if( $this->handle )
{
// close word
$this->handle->Quit();
// free the object
$this->handle->Release();
$this->handle = null;
}
}
};
?>Any ideas on changing the margins dynamicly?