Добавление водяного знака Word OLE-автоматизации в COM-объект MS-Office - PullRequest
0 голосов
/ 30 октября 2010

Я использую PHP COM Object, но я думаю, что он одинаков во всех других языках.Как добавить водяной знак в .doc / .docx Microsoft Word с помощью автоматизации COM / OLE?

    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 Ответ

1 голос
/ 09 ноября 2010

В Word запустите новый макрос и запишите шаги, необходимые для добавления водяного знака в документ. Затем просмотрите сгенерированный код макроса и переведите его в вызовы OLE Automation в вашем PHP-скрипте.

СОВЕТ: при открытии документа $word->Documents->Open($abs_filename); вы получите ссылку на этот документ. Лучше работать с этой ссылкой, чем с ActiveDocument и Documents[1], как сейчас.

...