Word OLE自动化水印添加在MS-Office COM对象中

时间:2010-10-30 11:38:41

标签: php automation ms-office ole watermark

我正在使用PHP COM对象,但我猜它在所有其他语言中都是一样的。如何使用COM / OLE自动化将水印添加到.doc / .docx Microsoft Word?

    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);

感谢。

1 个答案:

答案 0 :(得分:1)

在Word中启动一个新宏,并记录为文档添加水印所需的步骤。然后查看生成的宏代码并将其转换为php脚本中的OLE Automation调用。

提示:当您打开文档$word->Documents->Open($abs_filename);时,您将获得该文档的引用。最好使用该引用,而不是像现在一样使用ActiveDocumentDocuments[1]