Чтобы дать контекст, я создал базу данных и ее ХЛЕБ для таблицы. Я также загружаю PDF-файл в BREAD, и он сохраняется в столбце.
Теперь я хочу конвертировать PDF в текст. Я использую пакет Spat ie (https://github.com/spatie/pdf-to-text).
$textfromPDF = Pdf::getText('storage/' . $pdf_file_name);
Я могу получить детали в переменной $ textfromPDF. Я также использую администратор Voyager. Как я могу подключить этот код в VoyagerBaseController. php, чтобы он сохранялся в столбце базы данных вместе с другими столбцами, хранящимися? Там не будет никакой записи пользователя в этом столбце. Только преобразование текста. (Я создал собственный контроллер, производный от базового контроллера) и сохранил данные в столбце таблицы из $ textfromPDF?
Ниже приведен метод хранения для пользовательского контроллера, скопированный из Voyager Base Controller:
public function store(Request $request)
{
$slug = $this->getSlug($request);
$dataType = Voyager::model('DataType')->where('slug', '=', $slug)->first();
// Check permission
$this->authorize('add', app($dataType->model_name));
// Validate fields with ajax
$val = $this->validateBread($request->all(), $dataType->addRows)->validate();
$data = $this->insertUpdateData($request, $slug, $dataType->addRows, new $dataType->model_name());
event(new BreadDataAdded($dataType, $data));
if (!$request->has('_tagging')) {
if (auth()->user()->can('browse', $data)) {
$redirect = redirect()->route("voyager.{$dataType->slug}.index");
} else {
$redirect = redirect()->back();
}
return $redirect->with([
'message' => __('voyager::generic.successfully_added_new')." {$dataType->getTranslatedAttribute('display_name_singular')}",
'alert-type' => 'success',
]);
} else {
return response()->json(['success' => true, 'data' => $data]);
}
}