尝试使用convertapi.com将.txt转换为PDF - Python 3.2.2

时间:2014-04-26 01:42:25

标签: python api pdf text

我是python和编程的新手。我正在尝试将.txt文件转换为pdf,我搜索但是找不到用于执行此操作的库,它与python 3.2.2开箱即用,所以我使用的是Web服务。

这是我的代码:我得到的“File”参数不能为null

import urllib.request, urllib.parse, http.client, os
#import requests

#ejemplo txt
txt = open("test.txt", 'rb')

def txtPdf(txt):
    url = "http://do.convertapi.com/text2Pdf"
    archivo =  open("temp.pdf", "wb")
    valores = {"File": txt}

    datos = urllib.parse.urlencode(valores).encode("utf-8")
    solicitar = urllib.request.urlopen(url, data = datos)
    archivo.write(solicitar.read())
    archivo.close()

txtPdf(txt)

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果您可以使用请求,这很容易:

import requests

txtPdf(filename):
    url = "http://do.convertapi.com/text2Pdf"
    archivo =  open("temp.pdf", "wb")

    response = requests.post(url,
        files={'filename': open(filename,'rb')}
    )

    archivo.write(response.content)
    archivo.close()

txtPdf('test.txt')

答案 1 :(得分:0)

$url = 'https://do.convertapi.com/Text2Pdf';
$fp = fopen("convertedfile.pdf", "w");
$postdata =  array('ApiKey' => $apiKey, 'file'=>"@/example.txt");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_FILE, $fp);
$result=curl_exec ($ch);
$headers = curl_getinfo($ch);
curl_close($ch);