返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP实现word转pdf的两种方式(有用!)
  • 589
分享到

PHP实现word转pdf的两种方式(有用!)

2024-04-02 19:04:59 589人浏览 泡泡鱼
摘要

目录方法一、使用PHPWord和tcpdf方法二、使用unoconv将 word转pdf (Centos 8)总结方法一、使用phpword和tcpdf 1. 使用composer

方法一、使用phpword和tcpdf

1. 使用composer 安装 phpword和tcpdf

	composer require phpoffice/phpword
	composer require tecnickcom/tcpdf

2. 示例代码 (试例框架是laravel,以下文件默认是放置在public中)

//			你的初始文件地址
			$word = 'test.docx';
           \PhpOffice\PhpWord\Settings::setPdfRendererPath(base_path('vendor/tecnickcom/tcpdf'));
           //设置转换pdf的类库名(DomPDF、MPDF、TCPDF)需要下载对应的类库
           \PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');
 //				加载word文件
           $wordPdf = \PhpOffice\PhpWord\ioFactory::load($word);
//			读取生成的docx文件 并且指明要生成的文件格式
           $pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter($wordPdf , 'PDF');
//			设置文字字体,文字大小
           $pdfWriter->SetFont('wryh','',20,'',false);
//			生成pdf文件 的保存地址
           $temp_path = 'test.pdf'
//			文件保存        
           $pdfWriter->save($temp_path);
            return $temp_path;

3. 中文乱码 - 设置字体

乱码一般是因为字体问题

1、从网上下载一个ttf文
2、找到 /vendor/tecnickcom/tcpdf/tools 的位置,将字体文件放在这个文件夹下,在此处打开窗口执行命令
php ./tcpdf_addfont.php -b -t wryh -i wryh.ttf
之后就可以在 /vendor/tecnickcom/tcpdf/fonts/ 文件夹下找到三个同名的 wryh.ctg.z,wryh.php,wryh.z文件
3、然后你在执行代码时,设置
$pdfWriter->SetFont(‘wryh’,‘’,20,‘’,false);
指明使用该字体即可。

方法二、使用unoconv将 word转pdf (Centos 8)

1. 安装libreoffice 安装libreoffice

先为安装 libreoffice 创建一个文件夹,用以保存下载的压缩包 
	mkdir libreoffice
	cd libreoffice/
		# 下载 libreoffice 安装包
	wget https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/7.3.1/rpm/x86_64/LibreOffice_7.3.1_linux_x86-64_rpm.tar.gz
	wget Https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/7.3.1/rpm/x86_64/LibreOffice_7.3.1_Linux_x86-64_rpm_sdk.tar.gz
	wget https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/7.3.1/rpm/x86_64/LibreOffice_7.3.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
	# 解压安装包
	tar -zxvf LibreOffice_7.3.1_Linux_x86-64_rpm.tar.gz
	tar -zxvf LibreOffice_7.3.1_Linux_x86-64_rpm_sdk.tar.gz
	tar -zxvf LibreOffice_7.3.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz
	# 安装命令
	yum localinstall LibreOffice_7.3.1.3_Linux_x86-64_rpm/RPMS
    protected static function  File_conversion($old_file,$new_file,$file_fORMat='pdf')
    {
        $old_path = public_path($old_file);
        $new_path = public_path($new_file);
        shell_exec(" unoconv -f ".$file_format." -o ".$new_path." ".$old_path);
    }

总结

方法一:

  • 优点:操作较为简单,只需安装一些php的扩展就可以使用,
  • 弊端:但是该方法只适合一些word中内容比较简单的进行转义为pdf,因为数据格式复杂之后,会容易发生文字错位的问题。

方法二:

  • 优点:支持word中任何格式的数据进行转换,且不容易出现错位
  • 弊端:需要在服务器中安装软件(本文已centos 8为例,讲解。)可以根据自己的需求,选择用那种方式。
  • 注意 :设置字体时,最好与转换前文件中的字体一致

若上述yum命令执行的时候报错:
Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
则说明是官方镜像地址被移动了,不在mirrorlist 这里了,此时我们只需执行,将地址切换到vault 去。
(阿里的镜像因为对centos8环境支持的停止,原本的镜像就被移动了。)

cd /etc/yum.repos.d/
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

到此这篇关于PHP实现word转pdf的两种方式的文章就介绍到这了,更多相关PHP word转pdf内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: PHP实现word转pdf的两种方式(有用!)

本文链接: https://lsjlt.com/news/168158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP实现word转pdf的两种方式(有用!)
    目录方法一、使用phpword和tcpdf方法二、使用unoconv将 word转pdf (Centos 8)总结方法一、使用phpword和tcpdf 1. 使用composer ...
    99+
    2024-04-02
  • java 将word转为pdf文件的两种方式【spire.doc.free】【documents4j】
    场景 如资产证明等场景下,一般要求同时生成word与pdf两种格式的证明文件,且两者格式需保持一致,可以各自单独生成,但那样可能需要维护两个模板文件,所以也可以仅定义一份word的模板文件,使用模板生成word文件,再将word转换为pdf...
    99+
    2023-08-16
    java word pdf 后端
  • PHP怎么实现Word转PDF
    本篇内容介绍了“PHP怎么实现Word转PDF”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP处理Word转PDF代码示例:<&n...
    99+
    2023-06-17
  • Java实现Excel转PDF的两种方法详解
    目录一、使用spire转化PDF1、使用spire将整个Excel文件转为PDF2、指定单个的sheet页转为PDF二、使用jacob实现Excel转PDF(推荐使用)1、环境准备2...
    99+
    2024-04-02
  • Python实现PDF转Word的方法详解
    由于PDF的文件大多都是只读文件,有时候为了满足可以编辑的需要通常可以将PDF文件直接转换成Word文件进行操作。 看了网络上面的python转换PDF文件为Word的相关文章感觉都...
    99+
    2023-02-16
    Python PDF转Word Python PDF Word
  • 怎么用两行Python代码实现pdf转word功能
    本篇内容主要讲解“怎么用两行Python代码实现pdf转word功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用两行Python代码实现pdf转word功能”吧!一、安装依赖包pip&n...
    99+
    2023-07-05
  • PHP实现两种排课方式
    两种排课方式: 固定每周的固定时间上课(例:共上20节,每周六、周日早上8点-10点上课。假如今天周六凌晨1点,那么排课也需要从今天开始)总共上几个周,每周上课时间比较个性化(例:共...
    99+
    2024-04-02
  • 利用C#/VB.NET实现将PDF转为Word
    目录将 PDF 转换为固定布局的 Doc/Docx 文档完整代码将 PDF 转换为流动形态的 Doc/Docx 文档完整代码效果图众所周知,PDF 文档支持特长文件,集成度和安全可靠...
    99+
    2022-12-19
    C# PDF转Word C# PDF Word
  • wps中将pdf格式转化为word格式的方法有哪些
    这篇文章将为大家详细讲解有关wps中将pdf格式转化为word格式的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。转化方法:1、用wps软件打开pdf文档;2、点击“开始”选项卡,点击“PDF转...
    99+
    2023-06-14
  • php的跳转方式有几种
    这篇文章主要介绍“php的跳转方式有几种”,在日常操作中,相信很多人在php的跳转方式有几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php的跳转方式有几种”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-20
  • uniapp怎么实现尺寸转换(两种方式)
    随着移动互联网的迅速发展,越来越多的人开始选择在手机上使用应用程序来获取信息、交流和娱乐。此时,一个多平台的解决方案变得越来越必要,而uniapp便是基于Vue.js开发的一套多端开发框架,支持H5、小程序、App等多端运行,可以让开发者在...
    99+
    2023-05-14
  • python调用excel_vba的两种实现方式
    目录方法一: 方法二:方法一:  import win32com.client xl = win32com.client.Dispatch("Excel....
    99+
    2023-01-29
    python调用excel_vba python excel_vba调用
  • 如何使用C#/VB.NET实现将PDF转为Word
    本篇内容介绍了“如何使用C#/VB.NET实现将PDF转为Word”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!固定布局模式转换速度快,有利...
    99+
    2023-07-04
  • Word转PDF功能实现,文档转换工具通过PHP开发
    最近比较火的文档转换工具相信大家都听说过,但是怎么实现呢? 通过该接口可以将图片、word、excel、ppt等文档转换为pdf格式的文件 可以将Office(Word,Excel,PowerPoint)文件转换为PDF。 转换文件内容、格...
    99+
    2023-09-02
    php http 开发语言
  • redis实现缓存的两种方式
    本篇文章给大家分享的是有关redis实现缓存的两种方式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。redis实现缓存大致为两种措施:一、脚本...
    99+
    2024-04-02
  • 详解SpringMVC的两种实现方式
    目录一、方法一:实现Controller接口二、方法二:使用注解开发一、方法一:实现Controller接口 这个在我的第一个SpringMVC程序中已经学习过了,在此不作赘述,现在...
    99+
    2022-11-13
    SpringMVC实现方式 SpringMVC的两种实现方式
  • Python自动化办公之Word转PDF的实现
    目录pdf 工具包 - pdfkithtml 转 pdf网址 转 pdf字符串生成pdf结合 pydocx 将 word 转 html 再转 pdf该章节我们将要学习如何将 word...
    99+
    2024-04-02
  • Java实现无损Word转PDF的示例代码
    目录前言word转pdf实现思路项目远程仓库Maven项目pom文件依赖核心代码实现结果分析前言 本来想写word转pdf和pdf转word的代码呢,没想到word转pdf就写了很多...
    99+
    2024-04-02
  • Android实现旋转动画的两种方式案例详解
    目录练习案例效果展示前期准备自定义 View java代码编写方法一方法二易错点总结:练习案例 视差动画 - 雅虎新闻摘要加载 效果展示 前期准备 第一步:准备好颜色数组 res ...
    99+
    2024-04-02
  • Office制作的PPT转成Word文档的两种方法
    方法1:使用复制粘贴的方法将PPT内容转成Word文档。1. 打开PPT文件,选择要转换的幻灯片。2. 按下Ctrl+A,将所有内容...
    99+
    2023-09-15
    Word
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作