2015-10-28 5 views
0

Я пытаюсь создать pdf-файл с использованием reportlab, но я продолжаю получать ошибку, в идеале я хочу сохранить созданный pdf в конкретный каталог, но это просто для тестирования, и функция сохранения сохраняет только текущую рабочую директорию.создание и сохранение pdf в reportlab возвращает ошибку

import os 
from reportlab.pdfgen import canvas 
from reportlab.lib.pagesizes import A4 

folder_path = "/home/ro/A Python Scripts/dest_test/" 
folder_name = os.path.basename(folder_path) 
pdf_name = folder_name + '.py' 

def generate_pdf(folder_paths, folder_names, speedy_share_links): 
    c = canvas.Canvas(folder_names) 

    c.drawString(100,780,folder_names) 
    c.drawString(100,750,speedy_share_links) 
    c.save() 

generate_pdf(folder_path, folder_name, "hiya") 

Я получаю следующее сообщение об ошибке

Traceback (most recent call last): 
    File "pdf.py", line 16, in <module> 
    generate_pdf(folder_path, folder_name, "hiya") 
    File "pdf.py", line 14, in generate_pdf 
    c.save() 
    File "/usr/lib/python2.7/dist-packages/reportlab/pdfgen/canvas.py", line 1209, in save 
    self._doc.SaveToFile(self._filename, self) 
    File "/usr/lib/python2.7/dist-packages/reportlab/pdfbase/pdfdoc.py", line 216, in SaveToFile 
    f = open(filename, "wb") 
IOError: [Errno 2] No such file or directory: u'' 

ответ

0

Ваш путь имеет пустое базовое имя, поэтому ошибка показывает пустую строку.

Заменить строку:

folder_path = "/home/ro/A Python Scripts/dest_test/" 

С линии:

folder_path = "/home/ro/A Python Scripts/dest_test/foobar.pdf" 

и ваша программа будет генерировать foobar.pdf в текущем каталоге.

Смежные вопросы