调用函数时 mpdf() 库不起作用

Posted

技术标签:

【中文标题】调用函数时 mpdf() 库不起作用【英文标题】:mpdf() library does not work when the function is called 【发布时间】:2020-10-12 09:31:51 【问题描述】:

这是我的代码

$button = '<form method="post"> <input type="submit" name="button1"class="button" value="generate_pdf" /></form>';

$html = '<table><tr><td></td><tr></table>';

echo $html;

if (isset($_POST['button1'])) 
    send($html);


echo $button;

function send($html) 
    require 'company/mpdf60/mpdf.php';
    $mpdf = new mPDF('utf-8', 'A4', 2);
    $mpdf->WriteHTML($html);
    $mpdf->SetDisplayMode('fullpage');
    $mpdf->Output();

我在运行函数时收到警告

警告:非法字符串偏移 'ID' in D:\Project\myproject\web\company\mpdf60\classes\cssmgr.php 在第 1136 行 警告:无法将空字符串分配给第 1136 行 D:\Project\Web\myproject\web\company\mpdf60\classes\cssmgr.php 中的字符串偏移量 警告:第 1139 行 D:\Project\Web\myproject\web\company\mpdf60\classes\cssmgr.php 中的非法字符串偏移 'LANG' 警告:无法将空字符串分配给第 1139 行 D:\Project\Web\myproject\web\company\mpdf60\classes\cssmgr.php 中的字符串偏移量 警告:第 1190 行 D:\Project\Web\myproject\web\company\mpdf60\classes\cssmgr.php 中的非法字符串偏移 'ID' 警告:第 1190 行 D:\Project\Web\myproject\web\company\mpdf60\classes\cssmgr.php 中的非法字符串偏移 'LANG' 警告:无法修改标头信息 - 标头已由(输出开始于 D:\Project\Web\myproject\web\skymediaContract.php:1002) 在 D:\Project\Web\myproject\web\company\mpdf60\mpdf.php 在第 8297 行 警告:无法修改标头信息 - 标头已由(输出开始于 D:\Project\Web\myproject\web\skymediaContract.php:1002) 在 D:\Project\Web\myproject\web\company\mpdf60\mpdf.php 在第 1706 行 mPDF错误:部分数据已经输出到浏览器,无法发送PDF文件

如果删除 echo $html; 它将起作用。但我需要显示HTML。 我需要你们的帮助,伙计们。谢谢

【问题讨论】:

为什么需要回显? 人们需要看到强制性的。 @MaxiGui 您尝试使用printecho ($html); 吗? 顺便说一句,&lt;form method="post" 未在 $button 中关闭 所有语法都是正确的。我用print。得到同样的警告。 @MaxiGui 【参考方案1】:

看起来你发送了两次标题:第一次是你的 echo,第二次是 $mpdf->Output(),因此是错误。例如,您可以在新窗口或框架中打开 pdf。

【讨论】:

以上是关于调用函数时 mpdf() 库不起作用的主要内容,如果未能解决你的问题,请参考以下文章

调用未定义函数 Mpdf\\Mpdf()

调用未定义函数 Mpdf\mb_regex_encoding()

为啥我的函数在调用时不起作用? [关闭]

调用函数时异步等待不起作用

在单独的线程中调用时,C# 2.0 函数不起作用

dataSnapshot 函数不起作用 - 函数调用时应用程序崩溃