在删除所有空格后,抛出一个名为“无法传输pdf:已发送的标头”的异常

时间:2017-05-26 15:18:16

标签: php html exception

我正在尝试通过复制textarea中的整个HTML来将HTML转换为PDF。我已经尝试了这个question中显示的所有示例而没有解决问题。为什么会这样?这是我的主要php文件:

<?php
use Dompdf\Dompdf;
require 'vendor/autoload.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
    <title>PDF Converter</title>
</head>
<body>
    <div style="text-align: center;">
        <form method="POST">
            <div class="form-group">
                <label for="convert">Paste Your HTML Code here ; )
                    <hr>
                    <textarea name="htmlCode" class="form-control" rows="10" placeholder="<body>Example..</body>">asd</textarea>
                </label>
            </div>
            <input class="btn btn-primary" type="submit" value="Convert To PDF" name="convert">
        </form>
        <?php
            if (isset($_POST['convert'])) {
                $dompfd = new Dompdf();
                $html = htmlspecialchars($_POST['htmlCode']);
                $dompfd->loadHtml($html);
                $dompfd->setPaper('A4', 'landscape');
                $dompfd->render();
                $dompfd->stream();
            }
        ?>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

您输出HTML,因此标题已发送说明文字/ html。

将PHP移到所有HTML上方的脚本顶部,它应该可以工作!

出口();在调用stream()方法之后。