从laravel中的PDF文件中获取值(ID,paskureordernumber和金额)



我正在尝试从上传的PDF文件中获取值。因此,当该文件成功上传时,我想从此PDF文件中获得一些数据,ID,paskureorderno和金额。

到目前为止,我已经接近了Spatie/pdf-to-Text,并且能够上传和打开PDF文件,但我无法做到,我不知道如何获取所需的数据并将其显示在我的刀片上查看。

$name=$file->getClientOriginalName();
$file->move(public_path().'/pdftotext/', $name);
$data[] = $name;
$attachments = public_path().'/pdftotext/'. $name;

$path = public_path('/pdftotext/'. $name);
$text =  Pdf::getText ('Invoice 56569.pdf', $path);  

上面的代码将上传PDF文件并将其存储在public/pdftotext文件夹中,并且在上传后将打开上传的pdf文件,但不会获取任何值。

请建议我如何解决此问题。感谢您的时间。

而不是:

   $name=$file->getClientOriginalName();
   $file->move(public_path().'/pdftotext/', $name);
   $data[] = $name;
   $attachments = public_path().'/pdftotext/'. $name;

   $path = public_path('/pdftotext/'. $name);
   $text =  Pdf::getText ('Invoice 56569.pdf', $path); 

这样做更有意义:

   $name = $file->getClientOriginalName();
   $path = public_path('/pdftotext/');
   $file->move($path, $name);
   $text =  Pdf::getText ($name, $path); 
   // -- these have no bearing on this code so do them a bit later (here I will just ignore them)
   //$data[] = $name;  
   //$attachments = $path.$name;

虽然这可能无法"解决"您的问题,但要在评论中发表很多问题,它将使其变得更加干净,越来越小,并且阅读更愉快。

我不是一个非常有条理的人,但是在代码中缺乏组织会导致您更多的问题。

我上面发布的代码中最重要的事情是对此的更改:

 $path = public_path('/pdftotext/');

而不是最初拥有的(带有文件名)

 $path = public_path('/pdftotext/'. $name);

,或者不是,这是"问题"取决于它们如何实现Pdf::getText,他们可以在第二个参数上使用dirname(),然后可以返回文件夹名称{minus} - fileName。但是,如果他们检查 is_dir()会失败。

在四处移动之后,我如何使用这种使用。

  $path = public_path('/pdftotext/'.$name);
  $file->move($path, $name);  ///file->move(pdftotext/book.pdf, book.pdf) etc...

对我来说似乎并不正确。此外,这将使您呼吁Pdf::getText成为此(例如)

  echo Pdf::getText('book.pdf', '/custom/path/to/pdftotext/book.pdf');

当您可能想要的是:

 echo Pdf::getText('book.pdf', '/custom/path/to/pdftotext/');

这就是为什么我在上面说的这取决于它们如何实现Pdf::getText,因为有一些方法可以说明路径是DIR还是文件。这样他们就可以在这种方法内部解决这个问题。我不知道他们是否这样做(也许我会看一位来源并看到)。我看上去{简短},看来他们完全检查了。

有意义。这就是为什么我说要组织它的原因,因为事情变得越来越清楚,阅读代码就越容易。

相关内容

  • 没有找到相关文章

最新更新