Python Reportlab PDF - Text auf der Seite Zentrieren
Ich bin mit ReportLab zum generieren einer pdf-Datei, die dynamisch mit python.
Möchte ich eine Textzeile zentriert auf einer Seite. Hier ist der spezifische code, den ich derzeit habe, aber nicht wissen, wie Sie zum Zentrum der text horizontal.
header = p.beginText(190, 740)
header.textOut("Title of Page Here")
# I know i can use TextLine etc in place of textOut
p.drawText(header)
Den text angezeigt und ich kann manuell verschieben Sie die linke position, so dass der text sieht zentriert, aber ich brauche diese zentriert werden, programmgesteuert, da der text dynamisch, und ich weiß nicht, wie viel text es sein wird.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den reportlab Leinwand hat eine drawCentredString Methode. Und ja, Sie schreiben es so.
Bearbeiten:
Wie für text-Objekte, fürchte ich Sie nicht. Sie können tun, etwas entlang jenen Linien, aber:
Kann man auch auf andere Seitenformate, offensichtlich.
Ich brauchte nur diese zu, und schrieb dies:
tx
zurückgegeben wird, auf eine Leinwand. Wiemy_canvas.drawText(createTextObject(my_canvas, x, y, text, style, centered))
Versuchen:
Als Pro Referenz : http://two.pairlist.net/pipermail/reportlab-users/2006-June/005092.html
In Ihrem Fall:
Können Sie Fließfähiges Objekt wie
Paragraph
und weisenalignment
Wert 1:In diesem Beispiel erstellen Sie ein pdf-Dokument mit zentrierter text:
Wenn Sie möchten, dass der text floaten Links, die Sie ändern müssen
alignment
0:Wenn Sie möchten, dass der text floaten nach rechts, die Sie ändern müssen
alignment
2: