首页 > 编程语言 >使用php调用python文件,执行切割pdf文件

使用php调用python文件,执行切割pdf文件

时间:2023-07-26 18:00:12浏览次数:40  
标签:文件 python outputPath startPage pdf inputPath output

应用场景,使用php执行python文件,进行pdf文件切割

代码如下:

public function slicePdf(Request $request){
        // 要传递给 Python 脚本的参数
        $inputPath = "input.pdf"; //需要切割的文件目录
        $outputPath = "output.pdf"; //切割完成以后得新文件
        $startPage = 1; //开始页数
        $endPage = 30; //结束页数

        // 构建要执行的命令
        $command = "python D:/py_project/tools/SlicePdfFile.py $inputPath $outputPath $startPage $endPage";

        // 执行命令并获取输出
        $output = shell_exec($command);
        dd($output);
    }

也可以调用一个本地python的flask接口:

public function slicePdf(){
        // 创建 GuzzleHttp 客户端
        $client = new Client();
        $inputPath = "D:\py_project/tools/2016_PDF.pdf";
        $outputPath = "D:\py_project/tools/output.pdf";
        $startPage = 1;
        $endPage = 30;
        try {
            // 发送 POST 请求到本地接口
            $response = $client->post('http://localhost:8000/api/split_pdf', [
                'form_params' => [
                    'input_path' => $inputPath,
                    'output_path' => $outputPath,
                    'start_page' => $startPage,
                    'end_page' => $endPage,
                ]
            ]);
            // 获取响应数据
            $responseData = json_decode($response->getBody(), true);
            return $this->success('ok',$responseData);
        } catch (\Exception $e) {
            // 处理异常
            Log::error($e->getMessage());
            return $this->failure('调用失败');
        }
    }

标签:文件,python,outputPath,startPage,pdf,inputPath,output
From: https://www.cnblogs.com/stronger-xsw/p/17583215.html

相关文章

  • git操作-删除.git里提交的大文件
    有时我们的gitignore没有配置,导致一些大文件被误提交上去~1.先找到大文件(如果你已经知道是哪个文件以及该文件的路径,可直接进行第二步)gitverify-pack-v.git/objects/pack/pack-*.idx|sort-k3-g|tail-5这行命令是找到排名前5的大文件存在的git记录,从小到大排列。......
  • Figma导出源文件和其它文件的方法
    市场上设计工具层出不穷,Sketch、AdobeXD、Axure、InVision、Figma、Pixso等都是优秀的设计工具,设计师经常面临如何从设计工具中导出文件的问题。Figma软件的导出功能非常强大,因为轻量化体验受到很多设计师的喜爱。如何保存导出Figma源文件比较简单!但是如何把Figma源文件保存为......
  • swagger文档请求参数为文件属性添加选择文件按钮
    在编写接口时,将所有参数封装到实体中,其中就包含MultipartFile类型的参数eg:参数实体:User@ApiModel(value="用户实体类")@DatapublicclassUser{@ApiModelProperty(value="用户名")publicStringuserName;@ApiModelProperty(value="密码")public......
  • 使用 ifcfg 文件配置IP与辅助IP
    配置如下:[root@test-8c8gnetwork-scripts]#catifcfg-eth0#Createdbycloud-initoninstancebootautomatically,donotedit.#BOOTPROTO=noneDEFROUTE=yesDEVICE=eth0GATEWAY=192.168.121.1IPADDR=192.168.121.170NETMASK=255.255.255.0IPADDR2=192.168.121.1......
  • classpath的jar包中读取文件
    在idea中读取resources下的文件没有问题(调用getFile),但是打成jar包就会出问题;使用spring的ClassPathResource或者hutool的ClassPathResource去解析文件都会有问题;但是使用上面两个工具去读取inputstream或者byte就没问题,因为内部都是调用ClassLoader的getResource方法,如果是文件......
  • Python读写JSON文件的两种方式
    1.把文件读取为字符串,然后转换为json数据(dict格式),loadsanddumps关键点:写入json文件的时候,要指定ensure_ascii参数为False,否则中文编码虽然为utf_8,但仍然无法显示中文,而是\uxxx形式的编码。new_json_string=json.dumps(json_data,ensure_ascii=False)importjsondefr......
  • Linux系统多个Python版本任意切换
    比如系统安装了两个python3版本:python3.8和python3.10update-alternatives用法:update-alternatives:--install需要<链接><名称><路径><优先级>分别设置这两个版本的python3:$ls/usr/bin/python3python3python3.10-configpython3-configpython3-pasteurize ......
  • ftp的主动模式和被动模式以及被动模式未打开造成的文件上传不成功
    先说问题:最近有个需求,上传一些文件到ftp服务器,代码在linux服务器上运行ok,档案正常上传到了ftp服务器。代码如下:$ftp_server="";$port=21;$username="";$password="";$filename="aa.csv";$remote_file="aa.csv";$ftp=ftp_connect($ftp_server......
  • python批量计算多站点多年标准化降水指数SPI
    前面提过如何计算单站点多年的标准化降水指数SPI,但是在现实中不仅只计算一个站点的标准化降水指数,有时要计算多个站点的。原始数据是11个站点1961年至2022年每个月的降水值: 编程思路是:1、先需要进行站点分类:   此处的难点在于需要写个for循环,根据站点名称遍历数据 ......
  • 大文件分卷压缩方法
    一、背景  为了节省个人计算机空间,我们经常将一些文件上传到网盘。但是如果没有开通VIP,上传文件大小往往受限。今天我就遇到了这个问题,在将Matlab安装包上传至百度网盘时,大小超出限制。如图      文件有20G,但是上传单个文件大小限制为4G。此时就希望能够将上述文件拆分......