我正在生成PDF文件,但遇到了麻烦。任何人都可以告诉我这个错误的解决方案。下面是我用于此的代码。我为此包含了tcpdf,但是有一个致命的错误,说tcpdf文件不可用或我们可以说找不到。
<?php
$tcpdf_include_dirs = array(realpath('tcpdf.php'), '/usr/share/php/tcpdf/tcpdf.php', '/usr/share/tcpdf/tcpdf.php', '/usr/share/php-tcpdf/tcpdf.php', '/var/www/tcpdf/tcpdf.php', '/var/www/html/tcpdf/tcpdf.php', '/usr/local/apache2/htdocs/tcpdf/tcpdf.php');
foreach ($tcpdf_include_dirs as $tcpdf_include_path) {
if (@file_exists($tcpdf_include_path)) {
require_once($tcpdf_include_path);
break;
}
}
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // Create New PDF Doc
$pdf->SetCreator(PDF_CREATOR); //Setup a document information
include("db_connection.php");
$isql = mysqli_query($con, "SELECT * FROM `cpdf`") OR die("Data Select problem: ".mysqli_error($con));
$num = mysqli_num_rows($isql);
$pdf->AddPage(); //Add new page
while($row = mysqli_fetch_array($isql)){
$firstname = $row['fname'];
$lastname = $row['lname'];
$fullname = $firstname ." ".$lastname;
?>
<html>
<head>
<title>PDF Page</title>
</head>
<body>
<form>
<div>
<div><img style="width: 100%; height: 20%" src="image/FlZJRBAXRlweb design.idevtechnolabs.socialsigna.l.JPG"/></div>
<div style="width: 100%; height: 30%">
<table style="float: right; border: 2;">
<tr style="width: 10%;"><td style="text-align: left;"><?php echo $fullname; ?></td></tr>
<tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['add1']; ?></td></tr>
<tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['add2']; ?></td></tr>
<tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['city']; ?></td></tr>
<tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['state']; ?></td></tr>
<tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['date']; ?></td></tr>
</table>
</div>
<div style="float: left; height: 10%;">
<b>Subject:</b> <?php echo $row['subject']; ?>
</div>
<div style="height: 40%; width: 100%;">
<p style="text-align: justify;">Hey, <br /><br /> Mr. <?php echo $fullname; ?>. This is to inform you that a day after tomorrow is the last date of your invoice payment. This is a reminder notice to pay your <?php echo $row['bill']; ?> invoice amount our nearest store and takes advantage of our services.</p>
<p style="text-align: justify; text-indent: 4em;">We request you to pay your <?php echo $row['bill']; ?> Bill as soon as possible.</p>
<span style="float: right;">Thank you,<br /><img src="#"/></span>
</div><?php $pdf->Write(0, $txt, '', 0, 'C', true, 0, false, false, 0);
}
$pdf->Output('example_002.pdf', 'I'); ?>
</div>
</form>
</body>
</html>
答案 0 :(得分:2)
作为第一步,注释掉前七行代码,并使用文件的完整路径添加一行包含tcpdf.php的新代码。如果这不起作用,那么你应该检查tcpdf.php文件的内容,以确保它在整个过程中没有被破坏。也就是说,确保它仍然包含声明TCPDF类的代码。
如果可行,则注释掉硬编码的include语句,取消注释前面注释掉的七行,并添加一个echo语句,以便在该循环的每次迭代期间打印出$tcpdf_include_path
变量。只要其中一条路径与之前可能工作的硬编码路径匹配,那么您的代码应该可以正常工作。
最后,我非常怀疑是这种情况,但是如果您碰巧有一个区分大小写的文件系统并且您碰巧将tcpdf.php文件保存为TCPDF.PHP,那么这可能会导致问题。我只是提到答案的完整性的可能性,但是根据你提供的信息,这是非常不可能的,这是你的问题。