• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Word转PDF功能实现,文档转换工具通过PHP开发

武飞扬头像
顺为网络
帮助1

最近比较火的文档转换工具相信大家都听说过,但是怎么实现呢?

通过该接口可以将图片、word、excel、ppt等文档转换为pdf格式的文件

1.可以将Office(Word,Excel,PowerPoint)文件转换为PDF。

2.转换文件内容、格式、页数等和原文件一致。 

实现代码如下:

  1.  
    <?php
  2.  
    /**
  3.  
    * API请求DEMO
  4.  
    *
  5.  
    * 本demo支持GET与POST请求,同时支持签名验证与无需签名。
  6.  
    */
  7.  
     
  8.  
    //你申请的key密钥
  9.  
    $API_KEY = 'abcdefghijklmn1234567890';
  10.  
     
  11.  
    //API接口地址
  12.  
    $API_URL = 'https://api.itapi.cn/api/pdf/pdftoword';
  13.  
     
  14.  
    $get_post_data = array(
  15.  
    //接口参数,一行一个,可按照用户控制台->开发工具 的参数填写,或者直接复制开发工具下面的测试代码。
  16.  
    'key' => $API_KEY,
  17.  
    'fileurl' => 'https://www.xxxx.com/文档转换工具.pdf',
  18.  
     
  19.  
    );
  20.  
     
  21.  
    //签名校验的 SK:(在用户控制台密钥管理的秘钥安全设置->签名校验 开启后才会生效,没开启签名校验留空即可。)
  22.  
    $sk = '1a78feda123123213213217f1ba3466ef';
  23.  
     
  24.  
    /*发起请求API接口:
  25.  
    第1个参数:API接口地址URL,跟上面的同名变量相对应,无需更改。
  26.  
    第2个参数:API接口参数数组,跟上面的同名变量相对应,无需更改。
  27.  
    第3个参数:请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
  28.  
    第4个参数:是否验证签名,true验证签名,否则false不验证签名,根据用户控制台 密钥管理 的 秘钥安全设置->签名校验 开启后才会生效,如没开启,填写fasle即可。
  29.  
    第5个参数:如果第4个参数开启验证签名,此处必须填写 SK ,跟上面的同名变量相对应,无需更改。
  30.  
    */
  31.  
    $resdata = api::send($API_URL, $get_post_data, '选方法', true, $sk); //发起请求,注意这里要选择接口支持的协议,默认GET,可选POST
  32.  
     
  33.  
    //打印请求结果
  34.  
    print($resdata);
  35.  
    ///你的业务代码可写在这里处理API返回的数据
  36.  
     
  37.  
    /**
  38.  
    * API请求类
  39.  
    */
  40.  
    class api
  41.  
    {
  42.  
    public static function send($API_URL, $get_post_data, $type, $ifsign, $sk)
  43.  
    {
  44.  
    $get_post_data = http_build_query($get_post_data);
  45.  
    if ($ifsign) {
  46.  
    $sign = md5($get_post_data . $sk);
  47.  
    $res = self::send_curl($API_URL, $type, $get_post_data, $sign);
  48.  
    } else {
  49.  
    $res = self::send_curl($API_URL, $type, $get_post_data, null);
  50.  
    }
  51.  
    return $res;
  52.  
    }
  53.  
    //封装好的CURL请求函数,支持POST|GET
  54.  
    public static function send_curl($API_URL, $type, $get_post_data, $sign)
  55.  
    {
  56.  
    $ch = curl_init();
  57.  
    if ($type == 'POST') {
  58.  
    curl_setopt($ch, CURLOPT_URL, $API_URL);
  59.  
    curl_setopt($ch, CURLOPT_POST, true);
  60.  
    curl_setopt($ch, CURLOPT_POSTFIELDS, $get_post_data);
  61.  
    } elseif ($type == 'GET') {
  62.  
    curl_setopt($ch, CURLOPT_URL, $API_URL . '?' . $get_post_data);
  63.  
    }
  64.  
    if ($sign) {
  65.  
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['sign:' . $sign]);
  66.  
    }
  67.  
    curl_setopt($ch, CURLOPT_REFERER, $API_URL);
  68.  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  69.  
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  70.  
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  71.  
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  72.  
    $resdata = curl_exec($ch);
  73.  
    curl_close($ch);
  74.  
    return $resdata;
  75.  
    }
  76.  
    }
学新通

 提交成功后需查询成功状态,需要定时去轮训,我们建议最低5秒一次。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgffghc
系列文章
更多 icon
同类精品
更多 icon
继续加载