Ich möchte mit Python fpdf einige längere Bilder einfügen (jedes Bild kann auf 2 Seiten erweitert werden). Die Bilder werden jedoch nicht auf der nächsten Seite fortgesetzt, sobald ein Seitenumbruch ausgelöst wird. Wie kann ich den Rest der Bilder beginnend mit einem gegebenen Wert set_y auf die nächste Seite drucken (Header inklusive)?Seitenumbrüche für Bilder in Python fpdf
Antwort
Obwohl ich glaube, es gibt einen Weg mit fpdf
, schlage ich vor, Sie wechseln zu pdfkit/wkhtmltopdf basierten Lösung.
Ich habe viele ähnliche Probleme mit reportlab
, die sehr ähnlich ist fpdf
, dann wechselte zu wkhtmltopdf, fühlt sich viel besser an.
Mit wkhtmltopdf, können Sie Layout mit Standard-Web-Stack steuern, verwenden Sie CSS und Javascript, verwenden Sie eine bevorzugte Vorlage-Engine, dann konvertieren HTML-Datei in PDF, einfacher und viel mächtiger.
kann nicht wechseln, weil ich die gesamte Vorlage in fpdf (fast 300 Zeilen) getan habe. –
Wir haben ein ~ 2500 Zeilen reportlab-basiertes Projekt nach wkhtmltopdf migriert, aber die Anzahl der Codezeilen ist nicht gleich der Wartungsschwierigkeit, HTML/CSS ist wesentlich einfacher zu debuggen. – georgexsh
Nur ein Beispiel meiner obigen Kommentar,
from fpdf import FPDF
from PIL import Image
pdf = FPDF()
pdf.add_page()
im = Image.open('1.jpg')
width_img, height_img = im.size
#mm = (pixels * 25.4)/dpi
# - 25.4 millimeters in an inch
w = (width_img*25.4)/300
h = (height_img*25.4)/300
pdf.image('1.jpg',0,0,w,h)
pdf.output("yourfile.pdf", "F")
Wie bricht diese Bearbeitungsseite überhaupt? –
Der obige Code behandelt keinen Seitenumbruch. Es ist nur ein Beispiel für meinen vorherigen Kommentar. – TheUnknown
Dann * setze das in deinen answe *. Und sicherlich können Sie Bilder partitionieren, um sie auf mehreren Seiten zu platzieren. –
Wenn Ihr pdf-Dataset eine Datenfolge ist, können Sie für die "\r
" Suche starten und/oder (mehrfach) '\n
' character (s) mit dem folgenden Code:
chrs = ['\r', '\n', '\n\n']
for item in chars:
pdf-data.replace(item)
bei seinen formatieren Strings in einer Liste:
list = pdaf-data
for list-item in list:
for list-item in chars:
pdf-data.replace(item)
Wenn Sie direkt aus einer Datei lesen, verwenden Sie "Datei öffnen, etc" und readline()
.
- 1. Cropping Bilder in CodeIgniter für FPDF Ausgabe
- 2. Bilder ansehen ein FPDF - Laravel
- 3. Bedingte Seitenumbrüche in Gruppierung
- 4. PNG Bilder zu einem pdf in Python
- 5. Dynamische Seitenumbrüche
- 6. Plugins für fpdf?
- 7. Clickable Bilder für Python
- 8. fpdf: Header funktioniert nicht in fpdf
- 9. FPDF erzeugt leere Seiten in Python
- 10. PHP | FPDF: Nummerierungen in der fpdf Tabelle
- 11. Seitenumbrüche in Tabelle in newWindow
- 12. Seitenumbrüche in dynamischen Ax-Berichten
- 13. Gruppierung Tabellenzeilen und Seitenumbrüche
- 14. SSRS 2012 Bericht Seitenumbrüche
- 15. Unterstützung für Unicode-Zeichen in FPDF-Bibliothek
- 16. Seitenausrichtung beim Konvertieren von Bildern nach PDF mit FPDF (Python)
- 17. Bookdown: Seitenumbrüche einstellen
- 18. Seitenumbrüche auf php tag
- 19. Wie Bilder aus MySQL-Datenbank ohne Überlappung anzuzeigen, FPDF?
- 20. Apache poi Seitenumbrüche
- 21. neue Zeile in FPDF
- 22. Wie bearbeitet man Excel-Seitenumbrüche mit Python win32com?
- 23. Bilder in Python
- 24. FPDF && BARCODE
- 25. Variablen in FPDF übergeben
- 26. Fpdf in Funktion
- 27. undefiniert Schrift: In FPDF
- 28. Sortierung in CakePHP/Fpdf
- 29. FPDF-Fehler: Vorlage existiert nicht! fpdf
- 30. Redux Seitenumbrüche in Android WebView in Kitkat
können Sie Bildgröße als Seitengröße ändern. So wird das Bild in einer einzelnen Seite sein. Sie können den Seitenumbruch nicht beseitigen. – TheUnknown
Bildqualität ist wichtig. Momentan versuche ich die Bilder zu teilen und einzufügen, aber es gibt viele Bugs und Performing-Effekte. Anyways Antwort mit einem Codebeispiel kann helfen. –