mirror of
https://github.com/bringout/oca-ocb-accounting.git
synced 2026-04-18 04:02:01 +02:00
Complete mandatory documentation for PyPDF2 compatibility.
This package benefits from oca-ocb-base compatibility layer.
🤖 assisted by claude
2.9 KiB
2.9 KiB
PyPDF2 Compatibility Patch - Account EDI (OCB)
Overview
This package benefits from the PyPDF2 compatibility fixes implemented in the oca-ocb-base package. The account_edi module uses OdooPdfFileWriter classes that are automatically compatible with PyPDF2 3.0.0+ through the main compatibility layer.
Problem
In PyPDF2 3.0.0, several classes and methods were deprecated and removed:
PdfFileWriter→PdfWriterPdfFileReader→PdfReadercloneReaderDocumentRoot()→clone_reader_document_root()- Various other method names changed
Affected Functionality
The account_edi module uses PyPDF2 for:
- Electronic invoice PDF generation with embedded XML
- EDI document attachment to PDF reports
- XML embedding in compliance documents
- PDF/A conversion for electronic invoicing
Solution
This package requires NO direct patches because it uses:
OdooPdfFileWriterfromodoo.tools.pdf(oca-ocb-base)OdooPdfFileReaderfromodoo.tools.pdf(oca-ocb-base)
The main compatibility layer in oca-ocb-base handles all PyPDF2 version compatibility automatically.
Files Using PyPDF2
account_edi/models/ir_actions_report.py
- Uses
OdooPdfFileWriterfor PDF generation (automatically compatible) - Calls
writer.cloneReaderDocumentRoot(reader) - Embeds EDI XML attachments in PDFs
Implementation Details
No code changes needed in this package. Compatibility is achieved through:
- Dependency: Requires
oca-ocb-basewithpdfwritebranch - Automatic compatibility:
OdooPdfFileWriterhandles all PyPDF2 version differences - Method compatibility: Methods like
cloneReaderDocumentRoot()are automatically wrapped
Testing
The compatibility has been verified with:
- PyPDF2 3.0.0+ (new API)
- PyPDF2 2.x (old API)
- EDI invoice PDF generation
- XML embedding workflows
- Electronic invoicing compliance
Branch Information
- Branch:
pdfwrite - Based on: Current master branch
- Type: Dependency compatibility (no direct patches)
- Impact: Automatic compatibility through oca-ocb-base dependency
Dependencies
CRITICAL: This package requires:
oca-ocb-basepackage onpdfwritebranch- The main PyPDF2 compatibility layer must be active
Author
- Developer: Ernad Husremović (hernad@bring.out.ba)
- Company: bring.out.doo Sarajevo
- Date: 2025-09-02
Related Issues
This documentation addresses PyPDF2 compatibility for:
- Electronic invoicing (EDI)
- PDF/A document generation
- XML-embedded compliance documents
- B2B electronic document exchange
Installation
- Ensure
oca-ocb-baseis using thepdfwritebranch - Use this package's
pdfwritebranch (for documentation compliance) - No additional installation steps required
Future Considerations
- Monitor oca-ocb-base compatibility updates
- Test EDI workflows with future PyPDF2 versions
- Consider EDI standard compliance with PDF changes