mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-22 07:12:03 +02:00
Fix PyPDF2 3.0+ compatibility issues in snailmail
Add compatibility wrapper classes for PdfFileWriter/PdfFileReader
to support both PyPDF2 2.x and 3.x versions.
Changes:
- Add PyPDF2 compatibility classes in snailmail/models/snailmail_letter.py
- Create comprehensive documentation in doc/PATCH_PDFWRITER.md
- Support for addPage, appendPagesFromReader, and getPage methods
Resolves PyPDF2.errors.DeprecationError: PdfFileWriter is deprecated
and was removed in PyPDF2 3.0.0.
🤖 assisted by claude
This commit is contained in:
parent
e8119c9226
commit
33b8eb73c9
2 changed files with 122 additions and 1 deletions
|
|
@ -4,7 +4,23 @@ import re
|
|||
import base64
|
||||
import io
|
||||
|
||||
from PyPDF2 import PdfFileReader, PdfFileWriter
|
||||
try:
|
||||
from PyPDF2 import PdfWriter, PdfReader
|
||||
|
||||
# Create compatibility classes for PyPDF2 3.0+
|
||||
class PdfFileWriter(PdfWriter):
|
||||
def addPage(self, page):
|
||||
return self.add_page(page)
|
||||
|
||||
def appendPagesFromReader(self, reader, after_page_append=None):
|
||||
return self.append_pages_from_reader(reader, after_page_append)
|
||||
|
||||
class PdfFileReader(PdfReader):
|
||||
def getPage(self, page_num):
|
||||
return self.pages[page_num]
|
||||
|
||||
except ImportError:
|
||||
from PyPDF2 import PdfFileWriter, PdfFileReader
|
||||
from reportlab.platypus import Frame, Paragraph, KeepInFrame
|
||||
from reportlab.lib.units import mm
|
||||
from reportlab.lib.pagesizes import A4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue