diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index fc1025cb1..ae9607a5f 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -62,7 +62,7 @@ from django.utils.html import conditional_escape from django.utils.timezone import now from django.utils.translation import gettext_lazy as _, pgettext from i18nfield.strings import LazyI18nString -from PyPDF2 import PdfReader +from pypdf import PdfReader from pytz import timezone from reportlab.graphics import renderPDF from reportlab.graphics.barcode.qr import QrCodeWidget @@ -950,8 +950,8 @@ class Renderer: with open(os.path.join(d, 'out.pdf'), 'rb') as f: return BytesIO(f.read()) else: - from PyPDF2 import PdfReader, PdfWriter, Transformation - from PyPDF2.generic import RectangleObject + from pypdf import PdfReader, PdfWriter, Transformation + from pypdf.generic import RectangleObject buffer.seek(0) new_pdf = PdfReader(buffer) output = PdfWriter() diff --git a/src/pretix/control/views/pdf.py b/src/pretix/control/views/pdf.py index 6ba96d056..afd29115a 100644 --- a/src/pretix/control/views/pdf.py +++ b/src/pretix/control/views/pdf.py @@ -39,8 +39,8 @@ from django.utils.crypto import get_random_string from django.utils.timezone import now from django.utils.translation import gettext as _ from django.views.generic import TemplateView -from PyPDF2 import PdfReader, PdfWriter -from PyPDF2.errors import PdfReadError +from pypdf import PdfReader, PdfWriter +from pypdf.errors import PdfReadError from reportlab.lib.units import mm from pretix.base.i18n import language diff --git a/src/pretix/plugins/badges/exporters.py b/src/pretix/plugins/badges/exporters.py index 4b0a7a272..f1b5ebd2d 100644 --- a/src/pretix/plugins/badges/exporters.py +++ b/src/pretix/plugins/badges/exporters.py @@ -51,8 +51,8 @@ from django.db.models import Exists, OuterRef, Q, Subquery from django.db.models.functions import Cast, Coalesce from django.utils.timezone import make_aware from django.utils.translation import gettext as _, gettext_lazy, pgettext_lazy -from PyPDF2 import PdfMerger, PdfReader, PdfWriter, Transformation -from PyPDF2.generic import RectangleObject +from pypdf import PdfMerger, PdfReader, PdfWriter, Transformation +from pypdf.generic import RectangleObject from reportlab.lib import pagesizes from reportlab.lib.units import mm from reportlab.pdfgen import canvas diff --git a/src/pretix/plugins/ticketoutputpdf/exporters.py b/src/pretix/plugins/ticketoutputpdf/exporters.py index 5cd170ecd..563779d35 100644 --- a/src/pretix/plugins/ticketoutputpdf/exporters.py +++ b/src/pretix/plugins/ticketoutputpdf/exporters.py @@ -43,7 +43,7 @@ from django.db.models import OuterRef, Q, Subquery from django.db.models.functions import Cast, Coalesce from django.utils.timezone import now from django.utils.translation import gettext as _, gettext_lazy, pgettext_lazy -from PyPDF2 import PdfMerger +from pypdf import PdfMerger from pretix.base.exporter import BaseExporter from pretix.base.i18n import language diff --git a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py index ce3b9926c..5e6b63c1e 100644 --- a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py +++ b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py @@ -44,7 +44,7 @@ from django.http import HttpRequest from django.template.loader import get_template from django.utils.functional import cached_property from django.utils.translation import gettext_lazy as _ -from PyPDF2 import PdfMerger +from pypdf import PdfMerger from pretix.base.i18n import language from pretix.base.models import Order, OrderPosition diff --git a/src/setup.py b/src/setup.py index 8350b7449..b4795fa6e 100644 --- a/src/setup.py +++ b/src/setup.py @@ -212,7 +212,7 @@ setup( 'pycountry', 'pycparser==2.21', 'pycryptodome==3.17.*', - 'PyPDF2==2.12.*', # Wait for https://github.com/py-pdf/pypdf/issues/1601 to be resolved + 'pypdf==3.4.*', 'python-bidi==0.4.*', # Support for Arabic in reportlab 'python-dateutil==2.8.*', 'python-u2flib-server==4.*', diff --git a/src/tests/plugins/badges/test_pdf.py b/src/tests/plugins/badges/test_pdf.py index 116e4e34a..589f217eb 100644 --- a/src/tests/plugins/badges/test_pdf.py +++ b/src/tests/plugins/badges/test_pdf.py @@ -39,7 +39,7 @@ from io import BytesIO import pytest from django.utils.timezone import now from django_scopes import scope -from PyPDF2 import PdfReader +from pypdf import PdfReader from pretix.base.models import ( Event, Item, ItemVariation, Order, OrderPosition, Organizer, diff --git a/src/tests/plugins/ticketoutputpdf/test_ticketoutputpdf.py b/src/tests/plugins/ticketoutputpdf/test_ticketoutputpdf.py index c98bdddb7..98ca320f4 100644 --- a/src/tests/plugins/ticketoutputpdf/test_ticketoutputpdf.py +++ b/src/tests/plugins/ticketoutputpdf/test_ticketoutputpdf.py @@ -26,7 +26,7 @@ from io import BytesIO import pytest from django.utils.timezone import now from django_scopes import scope -from PyPDF2 import PdfReader +from pypdf import PdfReader from pretix.base.models import ( Event, Item, ItemVariation, Order, OrderPosition, Organizer,