0

我有一个本地文件default.xlsx

我把它寄给https://v2.convertapi.com.

我从响应中获取内容,并尝试将其保存在default.pdf.

我没有错误信息。

当我尝试打开创建的 PDF 时,它看起来已损坏。

import requests
import base64

f = open("default.xlsx", "rb").read()
f = base64.b64encode(f)
headers = {'Content-Type': 'application/json'}
payload = {
    "Parameters": [
        {
            "Name": "File",
            "FileValue": {
                "Name": "default.xlsx",
                "Data": f
            }
        },
    ]
}

r = requests.post('https://v2.convertapi.com/convert/xlsx/to/pdf?secret=SECRET-KEY', headers=headers, json=payload)
open('default.pdf', 'wb').write(r.content)

漏洞

4

2 回答 2

1
SECRET = "you can find yours in https://www.convertapi.com/"

def xlsx2pdf(xlsx_path):
    import requests
    import base64
    import json

    f = open(xlsx_path, "rb").read()
    f = base64.b64encode(f)
    headers = {'Content-Type': 'application/json'}
    payload = {
        "Parameters": [
            {
                "Name": "File",
                "FileValue": {
                    "Name": xlsx_path,
                    "Data": f
                }
            },
        ]
    }
    print("f", type(f))
    print("sending request...")
    r = requests.post('https://v2.convertapi.com/convert/xlsx/to/pdf?secret='+SECRET, headers=headers, json=payload)
    file_data = r.content
    file_dict = json.loads(file_data)
    data = file_dict["Files"][0]["FileData"]
    b64data = base64.b64decode(data)
    open(xlsx_path.replace(".xlsx",".pdf"), 'wb').write(b64data)

xlsx2pdf("default.xlsx")
于 2022-01-27T09:10:26.213 回答
0

convertapi 有一个 python 模块来执行此操作,而不是尝试使用 .json 语法。可以在这里找到一个例子

于 2022-01-26T14:46:18.367 回答