所有分类
  • 所有分类
  • 网站源码
  • 游戏源码
  • 小程序
  • 网页特效
  • 软件工具

thinkphp6+bootstrap实现pdf转word

thinkphp6+bootstrap实现pdf转word
首先,需要安装和配置ThinkPHP6和Bootstrap。

在ThinkPHP6中,可以创建一个控制器来处理PDF转Word的功能。可以使用第三方库如spatie/pdf-to-text来进行PDF解析,然后将解析后的文本保存为Word格式的文件。

在控制器中,可以编写一个方法来处理PDF转Word的逻辑。首先,需要接收上传的PDF文件,并保存到服务器上。然后,使用spatie/pdf-to-text库解析PDF文件,将解析后的文本保存为Word格式的文件。最后,返回生成的Word文件的下载链接给前端。

在前端使用Bootstrap,可以创建一个上传表单,使用户可以选择上传PDF文件。然后,使用Ajax将选择的文件发送给后端进行处理。在接收到后端返回的下载链接后,可以使用JavaScript生成一个下载链接,使用户可以点击下载转换后的Word文件。

直接上代码

控制器代码

<?php
namespace appcontroller;

use thinkfacadeFilesystem;
use SpatiePdfToTextPdf;
use thinkfacadeView;

class PdfController
{
    public function index()
    {
        return View::fetch('pdf/index');
    }

    public function convert()
    {
        // 获取上传的PDF文件
        $file = request()->file('pdf');

        // 保存PDF文件到服务器
        $savePath = 'uploads/pdf/';
        $info = $file->validate(['ext'=>'pdf'])->move($savePath);
        if (!$info) {
            return json(['code' => 0, 'msg' => $file->getError()]);
        }

        // 解析PDF文件并保存为Word格式
        $pdfPath = $savePath . $info->getSaveName();
        $wordPath = 'uploads/word/' . $info->getFilenameWithoutExtension() . '.docx';
        $pdf = new Pdf();
        $pdf->setPdf($pdfPath);
        $text = $pdf->text();
        file_put_contents($wordPath, $text);

        // 返回生成的Word文件的下载链接
        $downloadUrl = request()->domain() . '/' . $wordPath;
        return json(['code' => 1, 'msg' => '转换成功', 'url' => $downloadUrl]);
    }
}

前端html

<!DOCTYPE html>
<html>
<head>
    <title>PDF转Word</title>
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container mt-5">
        <h2>PDF转Word</h2>
        <form id="uploadForm" method="post" enctype="multipart/form-data">
            <div class="form-group">
                <label for="pdf">选择PDF文件:</label>
                <input type="file" class="form-control-file" id="pdf" name="pdf">
            </div>
            <button type="submit" class="btn btn-primary">转换</button>
        </form>
        <div id="result" class="mt-3" style="display: none;">
            <h4>转换结果:</h4>
            <p id="downloadUrl"></p>
        </div>
    </div>

    <script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            $('#uploadForm').submit(function(e) {
                e.preventDefault();
                var formData = new FormData(this);
                $.ajax({
                    url: '/pdf/convert',
                    type: 'POST',
                    data: formData,
                    dataType: 'json',
                    cache: false,
                    contentType: false,
                    processData: false,
                    success: function(response) {
                        if (response.code === 1) {
                            $('#result').show();
                            $('#downloadUrl').html('<a href="' + response.url + '">点击下载转换后的Word文件</a>');
                        } else {
                            alert(response.msg);
                        }
                    },
                    error: function() {
                        alert('请求失败');
                    }
                });
            });
        });
    </script>
</body>
</html>

忘记说了用Composer安装spatie/pdf-to-text库
上传路劲自己配置一下

下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站日常活跃所需,积分可通过日常活跃免费获得!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励,同时还能获得对应的人气!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:http://www.yonghengzy.cn/43577.html,转载请注明出处。
0
分享海报

评论0

请先
显示验证码

社交账号快速登录