mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-20 10:52:02 +02:00
17.0 vanilla
This commit is contained in:
parent
df627a6bba
commit
d72e748793
66 changed files with 116028 additions and 0 deletions
80
odoo-bringout-oca-ocb-base/odoo/tools/pdf/_pypdf.py
Normal file
80
odoo-bringout-oca-ocb-base/odoo/tools/pdf/_pypdf.py
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
from typing import Dict, Any
|
||||
|
||||
import pypdf
|
||||
from pypdf import errors, filters, generic, PdfReader as _Reader, PdfWriter as _Writer
|
||||
from pypdf.generic import create_string_object
|
||||
|
||||
__all__ = [
|
||||
"PdfReader",
|
||||
"PdfWriter",
|
||||
"create_string_object",
|
||||
"errors",
|
||||
"filters",
|
||||
"generic",
|
||||
]
|
||||
|
||||
|
||||
pypdf.PageObject.mergePage = lambda self, page2: self.merge_page(page2)
|
||||
pypdf.PageObject.mediaBox = property(lambda self: self.mediabox)
|
||||
# use lambdas (rather than copying) to allow overrides of the base method
|
||||
generic.PdfObject.getObject = lambda self: self.get_object()
|
||||
generic.StreamObject.getData = lambda self: self.get_data()
|
||||
generic.StreamObject.setData = lambda self, data: self.set_data(data)
|
||||
generic.RectangleObject.getWidth = lambda self: self.width
|
||||
generic.RectangleObject.getHeight = lambda self: self.height
|
||||
|
||||
|
||||
class PdfReader(_Reader):
|
||||
@property
|
||||
def isEncrypted(self):
|
||||
return self.is_encrypted
|
||||
|
||||
def getPage(self, pageNumber):
|
||||
return self.pages[pageNumber]
|
||||
|
||||
def getNumPages(self):
|
||||
return len(self.pages)
|
||||
|
||||
@property
|
||||
def numPages(self):
|
||||
return len(self.pages)
|
||||
|
||||
def getDocumentInfo(self):
|
||||
return self.metadata
|
||||
|
||||
|
||||
class PdfWriter(_Writer):
|
||||
def add_metadata(self, infos: Dict[str, Any]) -> None:
|
||||
if hasattr(self, '_info') and self._info is None:
|
||||
self._info = generic.DictionaryObject()
|
||||
super().add_metadata(infos)
|
||||
|
||||
def getPage(self, pageNumber):
|
||||
return self.pages[pageNumber]
|
||||
|
||||
def getNumPages(self):
|
||||
return len(self.pages)
|
||||
|
||||
def addPage(self, page):
|
||||
return self.add_page(page)
|
||||
|
||||
def appendPagesFromReader(self, reader):
|
||||
return self.append_pages_from_reader(reader)
|
||||
|
||||
def addBlankPage(self, width=None, height=None):
|
||||
return self.add_blank_page(width=width, height=height)
|
||||
|
||||
def addAttachment(self, fname, data):
|
||||
return self.add_attachment(fname, data)
|
||||
|
||||
def addMetadata(self, infos):
|
||||
return self.add_metadata(infos)
|
||||
|
||||
def cloneReaderDocumentRoot(self, reader):
|
||||
return self.clone_reader_document_root(reader)
|
||||
|
||||
def getFields(self, *args, **kwargs):
|
||||
return self.get_fields(*args, **kwargs)
|
||||
|
||||
def _addObject(self, *args, **kwargs):
|
||||
return self._add_object(*args, **kwargs)
|
||||
Loading…
Add table
Add a link
Reference in a new issue