Attempt some further fitz version fixes
authorMagnus Hagander <magnus@hagander.net>
Fri, 3 Jan 2025 11:54:03 +0000 (12:54 +0100)
committerMagnus Hagander <magnus@hagander.net>
Fri, 3 Jan 2025 11:54:03 +0000 (12:54 +0100)
postgresqleu/digisign/backendviews.py
postgresqleu/digisign/pdfutil.py

index 677a75f59cfef35692b555cfeb1a46a65ef1e3ab..cba71dd43400d136852ab146df6d287944094e75 100644 (file)
@@ -128,7 +128,10 @@ def pdf_field_editor(request, conference, pdf, available_fields, fielddata, save
     # one PNG for each page.
     pdf = fitz.open('pdf', bytes(pdf))
     pages = []
-    pages = [(pagenum, base64.b64encode(page.getPixmap().getPNGData()).decode()) for pagenum, page in enumerate(pdf.pages())]
+    if fitz.version[0] > "1.19":
+        pages = [(pagenum, base64.b64encode(page.getPixmap().getPNGData()).decode()) for pagenum, page in enumerate(pdf.pages())]
+    else:
+        pages = [(pagenum, base64.b64encode(page.get_pixmap().tobytes(output='png')).decode()) for pagenum, page in enumerate(pdf.pages())]
 
     return render(request, 'digisign/pdf_field_editor.html', {
         'conference': conference,
index d484c73e4e5e6cddbfb806013021532b8f1e9e76..f8db8d04ee132a98f1f865febf046f57b631b350 100644 (file)
@@ -68,7 +68,10 @@ def pdf_watermark_preview(pdfdata):
 
     wmio.seek(0)
     wmpdf = fitz.open('pdf', wmio)
-    wmpixmap = next(wmpdf.pages()).getPixmap()
+    if fitz.version[0] > "1.19":
+        wmpixmap = next(wmpdf.pages()).get_pixmap()
+    else:
+        wmpixmap = next(wmpdf.pages()).getPixmap()
 
     pdf = fitz.open('pdf', pdfdata)
     for pagenum, page in enumerate(pdf.pages()):