Wie füge ich mehrere Zeilen am Ende (Fußzeile) von PDF hinzu?

8

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)

zeige %Vor%

Auch Bildgröße:

%Vor%

Ich weiß nicht, wie ich dieses Problem beheben kann. Ich verweise diesen Link

    
Vivek Sable 29.01.2016, 10:29
quelle

1 Antwort

6

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.

    
B8vrede 05.02.2016, 14:51
quelle

Tags und Links