2017-10-29 3 views
0

텍스트 파일에서 pdf 문서를 생성하려하지만 텍스트 파일의 레코드와 일치하지 않습니다.reportlab에서 생성 된 PDF 보고서가 원래 텍스트 데이터와 유사하지 않습니다.

pdf 출력 데이터는 맨 위보다는 페이지 하단에서부터 시작됩니다. 사전에

감사 :

사람이 제발 몇 가지 아이디어 아래

는 코드입니다.

대신 ID의 USERID :

from reportlab.pdfgen import canvas 
from reportlab.lib.units import inch 
from reportlab.lib.colors import magenta, red 

file = open("Computingdata.txt", "r") # text file I need to convert 
    lines = file.read() 
file.close() 

report = canvas.Canvas('mypdf4.pdf')#new pdf report i am creating 
report.setFont("Times-Roman", 20) 
report.setFillColor(red) 
report.drawCentredString(150, 2.5*inch, "Student details") 

report.setFillColor(magenta) 
size = 12 
y = 2.0*inch 
#x = 1.3*inch 
for line in lines.split(';'): 
    report.setFont("Helvetica", size) 
    report.drawString(30,y, line) 
    y = y-size*1.2 
    #size = size+0.5 
report.save() 

그냥 출력이 ID
USERID
LOGIN-NAME
PASSWORD
SURNAME
NAME
AGE의 형태로 제공, 추가 로그인 이름 암호 성명 나이.

답변

0

감사합니다 모든 사람이, 난 내가 아래 조정 된 코드에서 발생할 모든 문제를 해결할 수 있었다 :

from reportlab.pdfgen import canvas 
#from reportlab.lib.units import inch 
from reportlab.lib.colors import magenta, red 

file = open(""yourdata"", "r") # text file I need to convert 
lines = file.read() 
file.close() 
report = canvas.Canvas('mypdf5.pdf')#new pdf report i am creating 
report.setFont("Times-Roman", 20) 
report.setFillColor(red) 
report.drawCentredString(100, 800, "Student details") 

report.setFillColor(magenta) 
size = 12 
y = 790 
#y = 2.0*inch 
#x = 1.3*inch 
for line in lines.split('\n'): 
report.setFont("Helvetica", size) 
    report.drawString(10, y, line) 
    #y = y-size*1.2 
    #size = size+0.5 
    y = y - 10 
report.save() 

편집 : 당신의 입력 텍스트 파일은 다음해야, 많은 구분 기호가된다 경우 , 당신은 reportlab에 대한 정확한 내용을 표시 할 쉽게 만드는 텍스트 파일에 모든 구분 기호를 포함 할 수 있습니다 재 패키지와 함께이

import re 

file = open("yourdata", "r") # text file I need to convert 
lines = file.read() 
lines2 = re.split('; |\n', lines) 
file.close() 

그런 짓을 pdf 파일

생성
관련 문제