2

Kohana 3 と pdfview/DOMPDF を使用して pdf ファイルを生成していますが、それらは 0 バイトと text/plain MIME タイプで生成されます。

コントローラ:

public function action_pdf() {
    if(isset($_POST['dados'])) {
        $pdf = View_PDF::factory('export/pdf');
        $pdf->title = '';
        $pdf->headers = array();
        $pdf->data = array();

        $this->request->response = $pdf;
        $this->request->send_file(true, 'dados.pdf');
    }
}

意見:

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <style type="text/css">
        * {
            border: 0;
            margin: 0;
            padding: 0;
        }

        table {
            border: 1px solid;
            border-collapse: collapse;
            margin: 0 auto;
            text-align: center;
            width: 500px;
        }

        td {
            border: 1px solid;
            padding: 5px;
        }
        </style>
    </head>
    <body>
        <h1>Teste</h1>
        <table>
            <tr></tr>
        </table>
    </body>
</html>

ファイルをダウンロードして epdfview (PDF ビューアー) で開くと、次のように表示されます。

Unable to open document
File type plain text document (text/plain) is not supported

何が悪いのかわかりません。ありがとうございました。

アップデート:

最後のベータ版と DOMPDF をダウンロードし、pdfview Kohana のモジュールを削除して、コントローラーで次のようなことを行いました。

public function action_pdf() {
        if(isset($_POST['dados'])) {
            require_once(Kohana::find_file('vendor', 'dompdf/dompdf_config.inc'));

            $view = View::factory('report/pdf');
            $view->title = '';
            $view->data = array();

            $pdf = new DOMPDF();

            $pdf->load_html($view->render());
            $pdf->render();
            $pdf->stream('dados.pdf', array('Attachment' => 1));
        }
    }

今、それは働いています。ありがとう!

4

2 に答える 2

0

フォルダdompdfのフォルダパーミッションを変更したらうまくいきそうです

sudo chmod -rf 777 dompdf
于 2012-09-17T08:11:43.197 に答える
0

同様の問題が発生し、「dompdf ファイル タイプのプレーン テキスト ドキュメント (テキスト/プレーン) はサポートされていません」というメッセージが表示されました。インストール手順を確認したところ、dompdf ディレクトリのファイル/フォルダーのアクセス許可を変更する必要がありました (lib/fonts は、インストール手順で具体的に言及されているものです)。今すぐ動作します。

于 2011-01-20T06:15:55.817 に答える