我有一個腳本,它可以生成一個PDF文件,然後將它發送給另一個應用程序(LogicalDOC)以保存它。創建pdf時包含文件名路徑
我遇到了行的問題。文件名應該是我的文件名變量,但它不考慮。
如果我編寫filename.pdf
,我發現在LogicalDOC中的文件名.pdf具有良好的內容。
但是文件名必須自動更改爲每個新的BirthCertificate。
我如何通過路徑作爲文件名?
這是我的腳本:
@login_required
def BirthCertificate_PDF(request, id) :
birthcertificate = get_object_or_404(BirthCertificate, pk=id)
data = {"birthcertificate" : birthcertificate}
template = get_template('BC_raw.html')
html = template.render(Context(data))
filename_directory = str(BirthCertificate.objects.get(pk=id).lastname.encode('utf-8')) + "_" + str(BirthCertificate.objects.get(pk=id).firstname.encode('utf-8')) + "_" + str(BirthCertificate.objects.get(pk=id).birthday)
filename = 'Acte_Naissance_' + filename_directory + '.pdf'
path = '/Users/valentinjungbluth/Desktop/Django/Individus/' + filename
file = open(path, "w+b")
pisaStatus = pisa.CreatePDF(html.encode('utf-8'), dest=file, encoding='utf-8')
file.seek(0)
pdf = file.read()
if pdf :
payload = '{ "language":"fr","fileName":filename,"folderId":3309569 }'
upfile = path
files = {
'document': (None, payload, 'application/json'),
'content': (os.path.basename(upfile), open(upfile, 'rb'), 'application/octet-stream')
}
url = 'http://localhost:8080/services/rest/document/create'
headers = {'Content-Type': 'multipart/form-data'}
r = requests.post(url, files=files, headers=headers, auth=('admin', 'admin'))
context = {"birthcertificate":birthcertificate,
"path":path}
return render(request, 'BC_PDF.html', context)
file.close()
return HttpResponse(pdf, 'application/pdf')
如果我寫道:
"FileName":"test.pdf"
我獲得logicalDoc中的test.pdf文件(見圖片)"FileName":"filename"
我得到的文件名的文件logicalDoc中的未知格式(請參見圖片)
我想獲得我的filename variable
作爲文件名
我填寫了一些表格,其中包含一些信息:姓氏,年齡,性別......我創建了一個從我的表單中獲取所有數據的pdf文件。然後,這個pdf文件保存在我的服務器上,我想在LogicalDOC中導入這個文檔。在LogicalDOC中給我的文件的文件名應該和在我的服務器上保存文件名相同。很顯然,'FileName'只帶有類似於'try.pdf'而不是路徑:/ – Deadpool
如果我理解正確,可以使用format:'payload ='{{「language」:「fr」,「fileName」:{0 },「folderId」:3309569}}'.format(filename)'。現在'payload'變量將包含文件名。這是你需要的嗎? – neverwalkaloner
@neverwalkaloner對不起,它不工作。我想在LogicalDoc中獲得文件名變量的文件名。例如:當我寫文件名變量時,'Acte_Naissance_Test_Muriel_2011-09-11.pdf'。 「{0}」不起作用。看起來'fileName'不考慮變量:/ – Deadpool