PDF4Cat.doc class
Class bases
- class PDF4Cat.doc.Doc(*args, **kwargs)[source]
Bases:
Merger
,Splitter
,Crypter
,Effects
,PdfOptimizer
Parent class of PDF4Cat.doc submodule
- class PDF4Cat.doc.Merger(*args, **kwargs)[source]
Bases:
PDF4Cat
Subclass of PDF4Cat parent class
- Parameters
doc_file (None, optional) – Document file (for multiple operations, ‘use input_doc_list’)
input_doc_list (list, optional) – List of input docs
passwd (str, optional) – Document password (for crypt/decrypt)
progress_callback (None, optional) – Progress callback like:
- Raises
TypeError – If you use doc_file with input_doc_list (you can use only one)
- class PDF4Cat.doc.Splitter(*args, **kwargs)[source]
Bases:
PDF4Cat
Subclass of PDF4Cat parent class
- Parameters
doc_file (None, optional) – Document file (for multiple operations, ‘use input_doc_list’)
input_doc_list (list, optional) – List of input docs
passwd (str, optional) – Document password (for crypt/decrypt)
progress_callback (None, optional) – Progress callback like:
- Raises
TypeError – If you use doc_file with input_doc_list (you can use only one)
- gen_split(from_pdf=None, pages: list = [], fpages: str = '{name}_{num}.pdf', start_from: int = 0) tuple [source]
Generator, generate name with BytesIO object
- Parameters
from_pdf (None, optional) – pdf document name (default use main doc from class param)
pages (list, optional) – List of pages to select like [1, 3, 5, 15]
fpages (str, optional) – Format pdf filenames
start_from (int, optional) – Enumerate from n
- Yields
tuple – filename, BytesIO
- split_pages2zip(out_zip_file: str, pages: list = [], fpages: str = '{name}_{num}.pdf', start_from: int = 0) None [source]
Split pages to different pdfs and compress to zip
- Parameters
out_zip_file (str) – Output zip file
pages (list, optional) – List of pages to select like [1, 3, 5, 15]
fpages (str, optional) – Format pdf filenames
start_from (int, optional) – Enumerate from n
- class PDF4Cat.doc.Crypter(*args, **kwargs)[source]
Bases:
PDF4Cat
Subclass of PDF4Cat parent class
- Parameters
doc_file (None, optional) – Document file (for multiple operations, ‘use input_doc_list’)
input_doc_list (list, optional) – List of input docs
passwd (str, optional) – Document password (for crypt/decrypt)
progress_callback (None, optional) – Progress callback like:
- Raises
TypeError – If you use doc_file with input_doc_list (you can use only one)
- crypt_to(user_passwd: str = None, owner_passwd: str = None, perm: dict = None, crypt_type: int = 5, output_pdf: str = None) None [source]
Crypt pdf and save to file (don’t forget give password in class parameter)
- Parameters
user_passwd (str, optional) – Pdf user password
owner_passwd (str, optional) – Pdf owner password
perm (dict, optional) – Permissions see past example - :perm
crypt_type (int, optional) – Crypt type, default AES256 (PDF4Cat.PDF_ENCRYPT_AES_256)
output_pdf (None, optional) – Output pdf file
- Raises
TypeError – “Missing user and owner password!”
- perm = int(PDF4Cat.PDF_PERM_ACCESSIBILITY
- PDF4Cat.PDF_PERM_PRINTPDF4Cat.PDF_PERM_COPYPDF4Cat.PDF_PERM_ANNOTATE)
- class PDF4Cat.doc.Effects(*args, **kwargs)[source]
Bases:
Rotate
Parent class of PDF4Cat.Doc submodule
- class PDF4Cat.doc.PdfOptimizer(*args, **kwargs)[source]
Bases:
PDF4Cat
Subclass of PDF4Cat parent class
- Parameters
doc_file (None, optional) – Document file (for multiple operations, ‘use input_doc_list’)
input_doc_list (list, optional) – List of input docs
passwd (str, optional) – Document password (for crypt/decrypt)
progress_callback (None, optional) – Progress callback like:
- Raises
TypeError – If you use doc_file with input_doc_list (you can use only one)