0

Zend フレームワーク プロジェクトで Word ドキュメントを作成しようとしていますが、うまくいきません。

これは私のアクションコードです:

public function createwordAction(){
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender();

    require_once 'Zend/Service/LiveDocx/MailMerge.php';

    try{
        $mailMerge = new Zend_Service_LiveDocx_MailMerge();

        $mailMerge->setUsername('***********')
                  ->setPassword('******');

        $mailMerge->setLocalTemplate('/license-agreement-template.docx');

        $mailMerge->assign('software', 'Magic Graphical Compression Suite v1.9')
            ->assign('licensee', 'Henry Döner-Meyer')
            ->assign('company',  'Co-Operation')
            ->assign('date',     'January 11, 2010')
            ->assign('time',     'January 11, 2010')
            ->assign('city',     'Berlin')
            ->assign('country',  'Germany');

        $mailMerge->createDocument();

        $document = $mailMerge->retrieveDocument('pdf');

        file_put_contents('document.pdf', $document);
    }
    catch (Exception $e) {
        die ('Application error: ' . $e->getMessage());
    }
}

テンプレートは、プロジェクトのルート (パブリック フォルダー) にあります。テンプレートはこのチュートリアルからダウンロードされ、編集したり開いたりしていません... .

キャッチ例外は、次のエラーを示しています。

アプリケーション エラー: ディスクからローカル テンプレートを読み取れません。

また、テンプレートへのパスを次のように変更してみました。

$templatepath = APPLICATION_PATH + "../public/license-agreement-template.docx";
$mailMerge->setLocalTemplate($templatepath);

しかし、同じ結果...

次に、次のように chmod を使用してファイルのアクセス許可を変更しようとしました。

chmod("/license-agreement-template.docx",0755);

そして、私はこのエラーを受け取りました:

警告: chmod(): そのようなファイルまたはディレクトリはありません

誰も同じ問題を経験しましたか? または、誰かがこれで私を助けることができますか?

4

1 に答える 1

1

LiveDocx については聞いたことがありませんが、私が行ったことは次のとおりです。

  • 特定のエラーについて LiveDocx のソースを検索しました。

そして、ここにあります

例外がスローされる if (!is_readable($filename))

ファイルに問題がある可能性があります (またはファイル名が正しくありません) PHP によってアップロードされたファイルの権限を変更します

于 2013-09-16T11:49:50.690 に答える