首页 > 其他分享 >在laravel中使用wkhtmltopdf

在laravel中使用wkhtmltopdf

时间:2023-12-21 18:14:31浏览次数:28  
标签:laravel wkhtmltopdf html snappy 使用 pdf php

在平时的项目中,可能会遇到把报表生成pdf或jpg图片的需求,使用wkhtmltopdf能方便的生成pdf和jpg图片。

1、安装:

  ubunut:sudo apt install wkhtmltopdf (或者下载安装指定版本:https://wkhtmltopdf.org/downloads.html),记住安装的目录,命令名称:wkhtmltoimage和wkhtmltopdf

2、laravel配置:

  1、安装依赖:composer require barryvdh/laravel-snappy

  2、在config/app.php的providers下添加:Barryvdh\Snappy\ServiceProvider::class,

  3、在config/app/php的aliases下添加:'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class 和 'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,

  4、执行 php php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider" ,会在 app/config 生成 snappy.php 配置文件,根据自己的情况完成配置

   5、支持 blade 模板,也支持直接写html代码

    例如:$pdf = PDF::loadView('pdf.report', $data); $pdf->setPaper('b5')->save($full_file); 或 $snappy = App::make('snappy.image'); $snappy->generateFromHtml($html, $file_path);   //$html 是html字符串

3、注意事项:

  1、在生成pdf时,要注意纸张的尺寸设置

  2、如果生成的pdf或图片存在乱码,可以安装这两个字体库(sudo apt-get install ttf-wqy-microhei 和 sudo apt-get install ttf-wqy-zenhei)

4、更多配置和使用方法参考git:

  https://github.com/barryvdh/laravel-snappy

  https://github.com/wkhtmltopdf/wkhtmltopdf

  

标签:laravel,wkhtmltopdf,html,snappy,使用,pdf,php
From: https://www.cnblogs.com/pk-tiger/p/17919781.html

相关文章

  • [转载]使用GoEasy在uniapp下实现实时音视频通话附关键代码
    GRTC(GoEasyReal-TimeCommunication)是GoEasy推出的新功能,用于协助开发者在uniapp下轻松实现一对一和多人场景下的实时音视频通话功能。集成步骤1.配置云厂商音视频服务GRTC功能依赖于云厂商的音视频服务,目前已集成七牛云音视频服务(每月免费5000分钟),并计划未来支持更多云厂......
  • React 之使用 antd 实现全局 loading
    使用antd的Spin实现Loading代码如下:fullLoading.tsximportReactDOMfrom"react-dom/client";import{Spin}from"antd";//全局加载loading//当前请求的个数//当同时有多个请求时,等所有请求完成后再关闭loadingletreqCount=0;//显示loadingfuncti......
  • ESP32在Arduino环境下使用QUEUE接收串口数据帧
    ESP32在Arduino环境下的串口数据帧接收测试平台ESP32-WROOM测试语言Arduino@PlatformIO注意事项需要添加Queue的库函数作者:SMFSWPlatformIO环境配置文件-platformio.ini[env:esp32doit-devkit-v1]platform=espressif32board=esp32doit-devkit-v1framewo......
  • vue3--使用ref获取Dom元素
    vue2中,ref使用:在div元素上绑定了ref属性,并命名为hello,接下来我们直接使用this.$refs.hello的方式就可以获取到该DOM元素了。<template><divid="app"><divref="hello">Vue2,ref获取dom元素</div></div></template><script>......
  • Safari 17信任站点修改造成的工商银行网银控件无法正常使用
    MacOS14.1中,Safari浏览器版本17.1,变更了信任站点流程。在工商银行使用JSP技术开发的网页上存在点击“在此网站上启用”但是检测不到扩展已安装的问题。原因工行个人网银登录网⻚使用jsp开发,⻚面情况非常复杂,嵌套了多个不同网址。通过日志可以发现还请求了epass.icbc.com.......
  • php 在laravel中集成grpc
    在laravel中集成使用grpc一、安装:1、macOSphp扩展:peclinstallgrpc,peclinstallprotobufprotocbuf:brewinstallprotobufetcd:brewinstalletcd2、ubuntu:php扩展:peclinstallgrpc(如果遇到[Makefile:1038:src/core/lib/comp......
  • 微信小程序中使用蓝牙信标
    微信小程序使用蓝牙信标流程:使用wx.startBeaconDiscovery({})开始搜索附近的Beacon设备使用wx.onBeaconUpdate(res=>{})监听Beacon设备更新事件,仅能注册一个监听使用wx.stopBeaconDiscovery({})停止搜索附近的Beacon设备代码:console.log("这是测试蓝......
  • 为什么在Python类中经常会使用init函数
     在Python中,类是一种用于创建对象的蓝图或模板。当我们定义一个类时,经常会在类中定义一个名为`__init__`的函数,也称为构造函数或初始化方法。本文将解释为什么在Python类中经常会使用`__init__`函数,并介绍它的作用和用法。 1.初始化对象: `__init__`函数在创建类的对象时自动调......
  • 在 MySQL 中,你可以使用 `AVG()` 函数来计算一组值或表达式的平均值。`AVG()` 函数的基
    在MySQL中,AVG()函数在计算平均值时会自动忽略NULL值¹⁴。也就是说,它只会计算所有非空值的平均值³。例如,假设你有一个包含以下值的列:90,80,70,85,95,NULL,NULL。在这种情况下,AVG()函数将只计算非空值的平均值,即:而不是将NULL值视为0并计算所有值的平均值。如果你需......
  • 0开始搭建laravel框架
    一.1.安装最新版本的Composer:(php配置了环境变量以后可以在cmd运行php命令)php-r"copy('https://install.phpcomposer.com/installer','composer-setup.php');"  //下载安装脚本- composer-setup.php -到当前目录phpcomposer-setup.php//执行安装过程php-r"unlin......