我想将png-image添加到现有的pdf文件中。 因此,我正在尝试将FPDI / FPDF集成到我的项目中,该项目基于ELOQUENT的SLIM框架。
FPDI / FPDF与作曲家(composer require setasign/fpdi-fpdf
)一起添加。
我在浏览器中直接打开的单个php文件(“pdf_test.php”)中成功测试了以下代码:
require_once('../vendor/setasign/fpdf/fpdf.php');
require_once('../vendor/setasign/fpdi/fpdi.php');
$pdf = new FPDI();
$filename = '1005236946.pdf';
$pageCount = $pdf->setSourceFile($filename);
$templateId = $pdf->importPage(1);
$pdf->useTemplate($templateId);
$pdf->Image('9959544245.png',268,184,20, 'PNG');
$pdf->Output('F', '1005236946_PNG.pdf');
但是当我在SLIM路由(“/ php_test”)中使用此代码时,此时我收到“500内部服务器错误”:
$pageCount = $pdf->setSourceFile($filename);
我已经检查过$ pdf-object创建得很好。
我在网上搜索但到目前为止没有找到任何可以提供帮助的内容。 也许它必须对Apache Server和.htaccess文件做些什么......?
非常感谢任何帮助: - )
答案 0 :(得分:0)
error_log:PHP警告:require(../ app / models / pdf_parser.php):
这意味着自动加载实现不会检查文件是否存在而只需要它。由于这种奇怪的实现,在一个不存在的类上进行简单的class_exist()调用(这里就是这种情况)会产生这个错误。
所以修复自动加载实现或单独要求解析器:
private void saveToolStripButton_Click(object sender, EventArgs e)
{
changes = ds.GetChanges(); // DatSet changes is in model but i must access here but dont know how
if (changes != null)
{
int updatedRows = dataAdapter.Update(changes); // Adapter is in model and i need him here
ds.AcceptChanges();
}
}
另外,我不确定为什么你需要手动编写脚本以及为什么不使用composer的自动加载器。 (不会改变行为,但会更有意义)