Ich hatte das Reportlab NumberedCanvas unter http://code.activestate.com/recipes/546511/ verwendet. Wenn ich jedoch versuche, eine PDF-Datei zu erstellen, die fließende Bilder enthält, werden die Bilder nicht angezeigt, obwohl ausreichend vertikaler Platz für das Bild vorhanden ist. Gibt es dafür eine Lösung?Reportlab Seite x von y NummerierteCanvas und Bilder
4
A
Antwort
13
Siehe hierzu my new, improved recipe, wozu ein einfacher Test mit Bildern gehört. Hier ist ein Auszug aus dem Rezept (das den Testcode auslässt):
from reportlab.pdfgen import canvas
from reportlab.lib.units import mm
class NumberedCanvas(canvas.Canvas):
def __init__(self, *args, **kwargs):
canvas.Canvas.__init__(self, *args, **kwargs)
self._saved_page_states = []
def showPage(self):
self._saved_page_states.append(dict(self.__dict__))
self._startPage()
def save(self):
"""add page info to each page (page x of y)"""
num_pages = len(self._saved_page_states)
for state in self._saved_page_states:
self.__dict__.update(state)
self.draw_page_number(num_pages)
canvas.Canvas.showPage(self)
canvas.Canvas.save(self)
def draw_page_number(self, page_count):
self.setFont("Helvetica", 7)
self.drawRightString(200*mm, 20*mm,
"Page %d of %d" % (self._pageNumber, page_count))
Verwandte Themen
- 1. Seite X von Y in LaTeX Footer
- 2. Ruby Seltsamkeit: x == y && [x, y] .uniq == [x, y]
- 3. WinForms: Markieren von X- und Y-Achsen
- 4. Hinzufügen von Seitenumbrüchen zu Reportlab Canvas-Objekt
- 5. x, y = getPos() vs. (x, y) = getPos()
- 6. Warum sind x = x + y und x = y + x manchmal anders?
- 7. Dynamisches Datendiagramm in X- und Y-Achse
- 8. LayoutParams move x und y
- 9. ReportLab long LayoutError: zu groß auf Seite
- 10. StatusBar-Eintrag x von y
- 11. X- und Y-Koordinaten von neuer Bildschirmgröße neu berechnen
- 12. Anzahl der Seiten mit ReportLab anzeigen
- 13. Warum/Wenn in Python `x == y` ruft `y .__ eq __ (x)`?
- 14. Python, das effizienter ist; Wenn x! = y: x = y oder x = y
- 15. Wie mache ich eine unendliche Schleife mit "x <= y && x > = y && x! = Y"?
- 16. Mehrere Tabellen (5) eine Seite mit ReportLab
- 17. Django und Reportlab Frage
- 18. Pyautogui.click (x, y) Fehler
- 19. Django ReportLab Mehrfache Seite mit Rahmen
- 20. X- und Y-Koordinaten aus String extrahieren
- 21. Darstellung der Werte (x, y) vs x._1, y._1
- 22. Ist Math.IEEERemainder (x, y) äquivalent zu x% y?
- 23. Prolog, Test (X, Y, Z): - Y ist X + Z
- 24. ReportLab LayoutError: zu groß auf Seite
- 25. Javascript Dokument schreiben X und Y
- 26. Python Flüche immer x und y
- 27. Pythonic tauschen x, y = y, x funktioniert nicht?
- 28. Regex X/Y-Koordinate
- 29. Zentrale x- und y-Achse mit ggplot2
- 30. Love2D Setze die Kachel x und y
Vielen Dank! Das scheint zu funktionieren. –
Fühlen Sie sich frei zu upvote ;-) –
Ich habe das obige Snippet ein wenig verändert, da ich nicht direkt die gesamte Seitenzahl zeichnen möchte, sondern stattdessen von allen Teilen, die es benötigen, zur Verfügung stellen. Also definiere ich einen Platzhalter, der später im obigen Code ersetzt wurde (ähnlich wie [fpdf aliasNbPages] (http://www.fpdf.org/en/doc/aliasnbpages.htm)) - https://gist.github.com/k4ml/7061027 – k4ml