Export.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Tools;
  3. use Illuminate\Support\Str;
  4. use Illuminate\Support\Facades\Log;
  5. class Export
  6. {
  7. public static function ToPdf($tex){
  8. return Export::tex2pdf_lily($tex);
  9. }
  10. private static function tex2pdf_lily($tex)
  11. {
  12. $request = new \Palm\Lily\V1\TexToRequest();
  13. foreach ($tex as $key => $value) {
  14. $request->getFiles()[$value['name']] = $value['content'];
  15. //Log::info($value['name']);
  16. //Log::info($value['content']);
  17. }
  18. $host = config('mint.server.rpc.lily.host') . ':' . config('mint.server.rpc.lily.port');
  19. $client = new \Palm\Lily\V1\TexClient($host, [
  20. 'credentials' => \Grpc\ChannelCredentials::createInsecure(),
  21. ]);
  22. list($response, $status) = $client->ToPdf($request)->wait();
  23. if ($status->code !== \Grpc\STATUS_OK) {
  24. echo "ERROR: " . $status->code . ", " . $status->details . PHP_EOL;
  25. return ['ok'=>false,
  26. 'code'=>$status->code,
  27. 'message'=>$status->details
  28. ];
  29. }
  30. return ['ok'=>true,
  31. 'content-type'=>$response->getContentType(),
  32. 'data'=>$response->getPayload()
  33. ];
  34. }
  35. }