mpdf布局样式异常解决方法

本文讲述了作者在使用mpdf生成PDF时遇到的布局问题,包括CSS样式失效和文本缩进不一致。作者分享了从text-indent到table布局的解决方案,并提出可能与文字数量有关的自动换行问题,期待更多经验交流。
摘要由CSDN通过智能技术生成

        mpdf格式错误、mpdf布局异常、生成PDF布局异常,多写点关键词,希望同病相怜的mpdf受害者看到        

       先说结论,mpdf对css部分样式不支持,用起来会发现很多样式不会生效,如果懒得看官方文档的话,布局方面最好留心一下,如果发现样式没生效立马换一种实现形式,不要硬钻牛角尖磕到底,换成一些原始的布局方式

        用mpdf生成pdf报告,写完之后发现一个极其恶心的问题,布局总是会稍微不符合预期布局,我写的代码就跟拉出去的巴巴,写完就拍拍定走了。客户就比较心细了,一直就盯着一些小细节看,揪出来的细节看着也不难,改起来就跟巴巴再吃回去一样,不知道为啥,咋改都不生效。

        当时的布局要求是首行不缩进,后面的行缩进。我当时好像用text-indent和padding-left实现了,但是这个文字内容是需要变化的,文字一多一少就发现,文字居然自己缩回去了,当时道心直接碎了

1.我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我    
    是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例是实例我是实例我是 
    实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例

    2.我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是    
    实例我是实例我是实例我是实例

3.我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我是实例我    
    是实例我是实例我是实例

最后是通过table去实现了,table把数字单独放到一个格,后面的内容放到一个格子。目前看来,用mpdf还是table布局,left right做简单的左右区分,定位去搞比较特殊的页。

这个mpdf是会自动根据文字换行吗,还是说这是别的东西的特性,我感觉这个显示问题跟字数有关,如有高见,欢迎各位指点

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mpdf是一个用于生成PDF文档的PHP库,它提供了丰富的功能来处理PDF文档。其中之一就是添加水印到PDF文档中。 要在PDF文档中添加水印,首先我们需要安装和配置mpdf库。可以通过composer来安装mpdf库,然后在代码中引入mpdf类。 接下来,我们可以使用mpdf库提供的AddWatermarkImage()方法来添加水印图片。该方法的参数包括水印图片的路径、位置、透明度、大小等设置。例如,可以将水印图片设置为在PDF文档的右下角显示,并设置透明度为50%。 除了添加水印图片,还可以使用AddWatermarkText()方法来添加水印文字。该方法的参数包括水印文字的内容、位置、颜色、字体、大小等设置。可以根据需求来自定义水印文字的样式和位置。 以下是一个示例代码,演示如何使用mpdf库来添加水印到PDF文档中: ```php <?php require_once __DIR__ . '/vendor/autoload.php'; // 创建mpdf对象 $mpdf = new \Mpdf\Mpdf(); // 添加水印图片 $mpdf->AddWatermarkImage('watermark.png', 'R', 50, 50); // 添加水印文字 $mpdf->AddWatermarkText('Confidential', 'C', '#000000', 'Arial', 20); // 生成PDF文档 $mpdf->Output('output.pdf', 'D'); ``` 在以上示例中,我们使用了一个名为"watermark.png"的水印图片,并将其设置在PDF文档的右上角位置。同时,我们还添加了一个水印文字"Confidential",并将其设置在PDF文档的中心位置。最后,将生成的PDF文档保存为"output.pdf"并进行下载。 以上就是使用mpdf库添加水印到PDF文档的简要说明。需要注意的是,具体的水印样式和位置可以根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值