Convertir en texte brut au format PDF en Python
Pour mon projet, j'obtiens un fichier de texte brut (report.txt) à partir d'un autre programme. Il est tout formaté en texte brut. Si vous l'ouvrir dans le bloc-notes, il a l'air sympa (comme beaucoup comme un fichier texte). Quand j'ouvre le fichier dans Word et de montrer les paragraphes, je vois ... pour les espaces et le recul P de paragraphe.
J'ai besoin de convertir ce fichier au format PDF et ajouter quelques autres pages PDF pour faire un PDF final. Tout cela se produit en Python.
J'ai de la difficulté de la conversion de la report.txt pour pdf. J'ai ReportLab, et je suis capable de lire le fichier et de faire quelques modifications (comme le changement le texte de Courrier), mais l'espacement est perdu. Lorsque le fichier est lu, il semble que toute la bande des espaces supplémentaires.
Questions:
a) est-il un moyen plus facile de convertir la report.txt au format pdf?
b) Si non, est-il un moyen de garder mon espace perso quand j'ai lu le dossier?
c) Ou est-il un paramètre que je suis absent de mon style de paragraphe qui permettra de garder l'aspect d'origine?
Voici mon code:
# ------------------------------------
# Styles
# ------------------------------------
styleSheet = getSampleStyleSheet()
mystyle = ParagraphStyle(name='normal',fontName='Courier',
fontSize=10,
alignment=TA_JUSTIFY,
leading=1.2*12,
parent=styleSheet['Normal'])
#=====================================================================================
model_report = 'report.txt'
# Create document for writing to pdf
doc = SimpleDocTemplate(str(pdfPath), \
rightMargin=40, leftMargin=40, \
topMargin=40, bottomMargin=25, \
pageSize=A4)
doc.pagesize = portrait(A4)
# Container for 'Flowable' objects
elements = []
# Open the model report
infile = file(model_report).read()
report_paragraphs = infile.split("\n")
for para in report_paragraphs:
para1 = '<font face="Courier" >%s</font>' % para
elements.append(Paragraph(para1, style=mystyle))
doc.build(elements)
OriginalL'auteur user1327390 | 2012-04-11
Vous devez vous connecter pour publier un commentaire.
ReportLab est la recommandation habituelle, comme on peut le voir à partir de la "Relative" des questions sur le côté droit de cette page.
Avez-vous essayé de créer un texte avec juste
StyleSheet['Normal']
? I. e., si vous obtenez le bon format de sortie avec celui-ci, le problème est en quelque sorte de votre style.Étant donné que les doit travail, je vous suggère de vous comprendre pourquoi ça ne marche pas. Copier-coller un exemple de la documentation, et si cela ne fonctionne toujours pas, il ya quelque chose de mal avec votre installation de ReportLab. Puis ajouter
report.txt
pour le mélange et si elle se casse, vérifiez votre fichier de codage-- qui pourrait vous UTF16 au lieu de l'ascii? Bonne chance.OriginalL'auteur alexis
J'ai eu le même problème. J'ai résolu avec ce code:
Pdf ressemble exactement le même que l'original fichier texte
OriginalL'auteur R.Camilo