Ich muss eine PDF-Datei erstellen, in der Zeilen wie Fußzeile unten links hinzugefügt werden müssen.
Der folgende Code funktioniert:
%Vor%Wenn nun Text mehrere Zeilen hat, funktioniert das nicht, weil die Länge des Textes größer ist als die Seitengröße. Verstanden.
Ich probiere es mit Frame
und paragraph
aus, kann aber immer noch keinen Text in der richtigen Position in einem PDF schreiben
Folgendes ist Code:
%Vor% Ich verstehe nicht, warum sich die Größe der Seite ändert, weil ich (432, 648)
eingestellt habe, aber (288.0, 504.0)
Auch Bildgröße:
%Vor%Ich weiß nicht, wie ich dieses Problem beheben kann. Ich verweise diesen Link
Zunächst ist das Geheimnis um die doc.width
, die doc.width
nicht die tatsächliche Breite des Dokuments. Es ist die Breite des Bereichs zwischen den Rändern. In diesem Fall entspricht doc.width + doc.leftMargin + doc.rightMargin
der Breite der tatsächlichen Seite.
Jetzt zurück zu, warum die Fußzeile nicht die gesamte Breite der Seite überspannt, wie Sie wollten. Dies liegt an dem oben beschriebenen Problem, dass doc.width
nicht die tatsächliche Papierbreite ist.
Angenommen, Sie möchten, dass die Fußzeile die gesamte Seite umfasst
%Vor%Angenommen, Sie möchten, dass die Fußzeile die Breite des schreibbaren Bereichs überstreicht
Hinweis: Die Ränder in der Standardeinstellung sind ziemlich groß, deshalb gibt es so viel freien Platz auf den Seiten.
%Vor%BEARBEITEN:
Es könnte nützlich sein zu wissen, wo der normale Text beginnen soll. Wir müssen die Höhe unserer Fußzeile herausfinden. Unter normalen Umständen können wir P.height
nicht verwenden, da dies von der Breite des Textes abhängt. Wenn Sie ihn aufrufen, wird AttributeError
erhöht.
In unserem Fall können wir die Höhe der Fußzeile entweder direkt aus P.wrap
( h
) oder durch Aufruf von P.height
erhalten, nachdem wir P.wrap
aufgerufen haben.
Wenn wir unser Frame
auf der Höhe der Fußzeile starten, haben wir niemals überlappenden Text. Es ist jedoch wichtig, daran zu denken, die Höhe von Frame
auf doc.height - footer.height
zu setzen, um sicherzustellen, dass der Text nicht außerhalb der Seite platziert wird.