2010-10-30 44 views
0

J'utilise PHP COM Object mais je suppose qu'il est le même dans toutes les autres langues. Comment ajouter un filigrane à un fichier .doc/.docx Microsoft Word à l'aide de COM/OLE Automation?Word OLE Automation Filigrane ajoutant dans MS-Office COM Objet

try 
    { 
     $word = new COM("word.application") //$word = new COM("C:\\x.docx"); 
or die(error::asString("couldnt create an instance of word", 20100408.01812, true)); 

     //bring word to the front 
     $word->Visible = 1; 

     //open a word document 
     $word->Documents->Open($abs_filename); 

     $range = $word->ActiveDocument->Content(); 
     $this->text = iconv('CP1255', 'UTF-8', $range->Text); 

     //save the document as html 
     // format: 0 - same?, 1 - doc?, 2 - text, 4 - text other encoding, 5 - ?, 6 - rtf , 8 - html 
     $word->Documents[1]->SaveAs($result_file_name, 8); 

Merci.

Répondre

1

Dans Word, démarrez une nouvelle macro et enregistrez les étapes nécessaires pour ajouter un filigrane à votre document. Ensuite, affichez le code de la macro générée et traduisez-le en appels OLE Automation dans votre script php. ASTUCE: lorsque vous ouvrez un document $word->Documents->Open($abs_filename);, vous obtiendrez une référence à ce document. Il est préférable de travailler avec cette référence que de travailler avec ActiveDocument et Documents[1] comme vous le faites maintenant.