pdf.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. return [
  3. /*
  4. |--------------------------------------------------------------------------
  5. | PDF调试设置
  6. |--------------------------------------------------------------------------
  7. |
  8. | 启用此选项会在生成PDF时保存HTML副本到storage/app目录
  9. | 用于调试PDF渲染问题
  10. |
  11. */
  12. 'debug_save_html' => env('PDF_DEBUG_SAVE_HTML', false),
  13. /*
  14. |--------------------------------------------------------------------------
  15. | PDF渲染后端
  16. |--------------------------------------------------------------------------
  17. |
  18. | gotenberg:通过常驻 Gotenberg 服务生成 PDF,减少每次启动 Chrome 的长尾耗时。
  19. | chrome:保留原有本机 Chrome CLI 渲染路径,作为兼容/兜底方案。
  20. |
  21. */
  22. 'renderer' => env('PDF_RENDERER', 'gotenberg'),
  23. /*
  24. |--------------------------------------------------------------------------
  25. | Gotenberg 服务配置
  26. |--------------------------------------------------------------------------
  27. |
  28. | PDF worker 通过内网访问 Gotenberg 服务;超时控制单次转换最长等待时间。
  29. |
  30. */
  31. 'gotenberg_url' => env('GOTENBERG_URL', 'http://gotenberg:3000'),
  32. 'gotenberg_connect_timeout_seconds' => (int) env('PDF_GOTENBERG_CONNECT_TIMEOUT_SECONDS', 3),
  33. 'gotenberg_timeout_seconds' => (int) env('PDF_GOTENBERG_TIMEOUT_SECONDS', 60),
  34. 'fallback_to_chrome' => env('PDF_FALLBACK_TO_CHROME', true),
  35. 'kp_explain_fetch_timeout_seconds' => (int) env('PDF_KP_EXPLAIN_FETCH_TIMEOUT_SECONDS', 2),
  36. /*
  37. |--------------------------------------------------------------------------
  38. | Chrome 轮询超时(秒)
  39. |--------------------------------------------------------------------------
  40. |
  41. | 主渲染通道等待 PDF 文件落地的最长时长;超时后会快速进入最小参数兜底。
  42. | 默认 40 秒(旧逻辑固定 80 秒),用于降低异常场景下的长时间卡顿。
  43. |
  44. */
  45. 'chrome_poll_timeout_seconds' => (int) env('PDF_CHROME_POLL_TIMEOUT_SECONDS', 40),
  46. /*
  47. |--------------------------------------------------------------------------
  48. | 远程图片尺寸探测超时(秒)
  49. |--------------------------------------------------------------------------
  50. |
  51. | 扁图自适应会探测远程图片宽高。为防止慢图源拖慢 PDF,探测使用短超时。
  52. |
  53. */
  54. 'image_probe_timeout_seconds' => (int) env('PDF_IMAGE_PROBE_TIMEOUT_SECONDS', 2),
  55. ];