QQ扫一扫联系
debian切换了中文语言,中文字库已安装,绝大部分文档可以正常转码,个别文档无法转码,报错信息如下txt中。
PHP版本7.0、系统版本文库7.4
转码重试,有15个文档无法转码,查看日志报错。
Symfony\Component\Debug\Exception\FatalThrowableError: Call to a member function decodeText() on null in /www/wwwroot/xxxxxx.com/module/Wenku/SDK/smalot-pdfparser/src/Smalot/PdfParser/PDFObject.php:432Stack trace:
#0 /www/wwwroot/xxxxxx.com/module/Wenku/SDK/smalot-pdfparser/src/Smalot/PdfParser/PDFObject.php(826): Smalot\PdfParser\PDFObject->getTJUsingFontFallback(NULL, Array, Object(Smalot\PdfParser\Page), 0)
#1 /www/wwwroot/xxxxxx.com/module/Wenku/SDK/smalot-pdfparser/src/Smalot/PdfParser/PDFObject.php(571): Smalot\PdfParser\PDFObject->getTextArray(Object(Smalot\PdfParser\Page))
#2 /www/wwwroot/xxxxxx.com/module/Wenku/SDK/smalot-pdfparser/src/Smalot/PdfParser/Page.php(220): Smalot\PdfParser\PDFObject->getText(Object(Smalot\PdfParser\Page))
#3 /www/wwwroot/xxxxxx.com/module/Wenku/SDK/smalot-pdfparser/src/Smalot/PdfParser/Document.php(438): Smalot\PdfParser\Page->getText()
#4 /www/wwwroot/xxxxxx.com/module/Wenku/Util/WenkuConvertUtil.php(70): Smalot\PdfParser\Document->getText()
#5 /www/wwwroot/xxxxxx.com/module/Wenku/Util/WenkuConvertUtil.php(83): Module\Wenku\Util\WenkuConvertUtil::convertPdfToText('/www/wwwroot/re...')
#6 /www/wwwroot/xxxxxx.com/module/Wenku/Job/WenkuDocProcessJob.php(205): Module\Wenku\Util\WenkuConvertUtil::toText('/www/wwwroot/re...')
#7 [internal function]: Module\Wenku\Job\WenkuDocProcessJob->handle()
#8 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(507): call_user_func_array(Array, Array)
#9 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(192): Illuminate\Container\Container->call(Array)
#10 [internal function]: Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(Module\Wenku\Job\WenkuDocProcessJob))
#11 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Module\Wenku\Job\WenkuDocProcessJob))
#12 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Module\Wenku\Job\WenkuDocProcessJob))
#13 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Module\Wenku\Job\WenkuDocProcessJob))
#14 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(204): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#15 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(43): Illuminate\Bus\Dispatcher->dispatchNow(Object(Module\Wenku\Job\WenkuDocProcessJob), Object(Closure))
#16 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(129): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\DatabaseJob), Array)
#17 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php(50): Illuminate\Queue\Jobs\Job->resolveAndFire(Array)
#18 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(224): Illuminate\Queue\Jobs\DatabaseJob->fire()
#19 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(165): Illuminate\Queue\Worker->process('database', Object(Illuminate\Queue\Jobs\DatabaseJob), '1', '0')
#20 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(117): Illuminate\Queue\Worker->pop('database', 'FileConvert', '0', '5', '1')
#21 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(87): Illuminate\Queue\Worker->runNextJobForDaemon('database', 'FileConvert', '0', '5', '1')
#22 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(104): Illuminate\Queue\Worker->daemon('database', 'FileConvert', '0', '4096', '5', '1', 100)
#23 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(70): Illuminate\Queue\Console\WorkCommand->runWorker('database', 'FileConvert', '0', '4096', false)
#24 [internal function]: Illuminate\Queue\Console\WorkCommand->fire()
#25 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Container/Container.php(507): call_user_func_array(Array, Array)
#26 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(150): Illuminate\Container\Container->call(Array)
#27 /www/wwwroot/xxxxxx.com/vendor/symfony/console/Command/Command.php(238): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Console/Command.php(136): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /www/wwwroot/xxxxxx.com/vendor/symfony/console/Application.php(840): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /www/wwwroot/xxxxxx.com/vendor/symfony/console/Application.php(190): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /www/wwwroot/xxxxxx.com/vendor/symfony/console/Application.php(114): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#32 /www/wwwroot/xxxxxx.com/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 /www/wwwroot/xxxxxx.com/artisan(45): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 {main}
这个是解析PDF中的文字出错了,个别文档确实不好办,可以试一下云转换,或者也可以把解析文字那个功能先关掉试一下。
@ModStart: 我试了下,用云转换是能正常跳转到“转换成功”或者“转换失败”的,本地转报这个错的文档,会一直卡在“正在转换”,一直到把服务器卡死。最好以后能修复下卡在“正在转码”这个问题。
解析文字的功能在哪关掉?需要自己去这个文件里面改代码还是有地方可以配置?
这个是调用的一个第三方的库,你后台把解析文字关掉试一下解析这几个文件
@ModStart: 好了,多谢!