0

我正在使用 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);

谢谢。

4

1 回答 1

1

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

提示:当您打开一个文档时,$word->Documents->Open($abs_filename);您将获得对该文档的引用。使用该参考文献比使用ActiveDocumentDocuments[1]像现在这样工作要好。

于 2010-11-09T08:13:36.400 回答