![](/img/trans.png)
[英]pdftk: PHP Fatal error: Class 'mikehaertl\pdftk\Pdf' not found in
[英]mikehaertl\pdftk\Pdf Null
我正在开发Laravel应用程序,并尝试使用mikehaertl \\ pdftk \\ Pdf从PDF文件检索字段,但它始终返回NULL。
public function postPdF(Request $request ){
$file = $request->file('test');
$content = fopen($file->getRealPath(),'r');
$name = $file->getClientOriginalName();
$extension = \File::extension($name);
$newName = time().".".$extension;
Storage::disk("local")->put($newName,$content);
$pathF = storage_path('app')."\\".$newName;
$pdf = new Pdf($pathF);
$data = $pdf->getDataFields();
}
如果我做
var_dump($pdf)
它返回
string(0) ""
如果我做
var_dump($data)
它返回
bool(false)
我该如何解决这个问题?
fopen
(本质上)返回指向文件的指针,而不是文件内容的指针。 这意味着当您将$content
放入文件中时,它并没有达到您的预期目的。
虽然您可以用file_get_contents
代替fopen
,但我建议您只替换以下几行...
$file = $request->file('test');
$content = fopen($file->getRealPath(),'r');
$name = $file->getClientOriginalName();
$extension = \File::extension($name);
$newName = time().".".$extension;
Storage::disk("local")->put($newName,$content);
...像...
$destPath = storage_path('app') . '/' . time() . '.' . $request->test->extension();
Storage::disk('local')
->copy($request->test->path(), $destPath);
从getDataFields()返回false作为返回值表示执行命令时某些操作失败。 需要检查的几件事:
我必须在Pdf类构造函数的选项中指定pdftk二进制文件所在的位置。
$pdf = new Pdf( $pathToPdf, ['command' => $pathToPdfTKBinary] );
我在shell commmand的文档中发现了这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.