Metadata-Version: 1.2
Name: carol-pdf-generator
Version: 0.1.11
Summary: A library to create PDF Files from a set of image files/base64 data
Home-page: https://github.com/gzamboni/carol_pdf_generator
Author: Giovani Zamboni
Author-email: giovani.zamboni@totvs.com
License: UNKNOWN
Description: carol\_pdf\_generator
        =====================
        
        carol\_pdf\_generator is a Python library for creating PDF Files from
        images (png, jpg) file. Base64 encoded is also supported.
        
        Installation
        ------------
        
        Use the package manager `pip <https://pip.pypa.io/en/stable/>`__ to
        install foobar.
        
        .. code:: bash
        
            pip install carol_pdf_generator
        
        Usage
        -----
        
        .. code:: python
        
            from carol_pdf_generator import get_from_file_list, get_from_base64_list
            from urllib import request
        
            file_list = [
                'jpgfile.jpg',
                'pngfile.png'
            ]
        
            base64_images.append(request.urlopen('https://pastebin.com/raw/k3VZeNHW').read().decode('latin1'))
            base64_images.append(request.urlopen('https://pastebin.com/raw/CaZJ7n6s').read().decode('latin1'))
            base64_images.append(request.urlopen('https://pastebin.com/raw/7Asb2iMJ').read().decode('latin1'))
        
            from_file = get_from_file_list(file_list)
        
            base64 = get_from_base64_list(base64_images, 'test.pdf')  # Returns the PDF base64 encoded data uri and saves the PDF to test.pdf
        
        Document Scan and auto rotation
        -------------------------------
        
        This library can automatic try to identify paper documents and rotate the image to better fits the PDF Document.
        
        .. code:: python
        
            base64_jpg = str(DataURI.make(
                    mimetype='image/jpeg',
                    charset='latin1',
                    base64=True,
                    data=request.urlopen('https://raw.githubusercontent.com/danielgatis/docscan/master/examples/doc-1.jpg').read().decode('latin-1')
                ))
        
            base64_png_2 = str(DataURI.make(
                    mimetype='image/png',
                    charset='latin1',
                    base64=True,
                    data=request.urlopen('https://raw.githubusercontent.com/danielgatis/docscan/master/examples/doc-2.png').read().decode('latin-1')
                ))
        
            base64_jpg_3 = str(DataURI.make(
                mimetype='image/jpeg',
                charset='latin1',
                base64=True,
                data=request.urlopen('https://raw.githubusercontent.com/danielgatis/docscan/master/examples/doc-3.jpg').read().decode('latin-1')
            ))
        
            base64_images = [
                base64_jpg,
                base64_png_2,
                base64_jpg_3
            ]
        
            # Returns the PDF base64 encoded data uri and saves the PDF to test.pdf, correcting the document geometry and auto rotating the images
            pdf = get_from_base64_list(base64_images, auto_rotate=True, scan_docs=True, output_file="test.pdf")
        
        Merging PDF and images
        ----------------------
        
        This library you can create a PDF file merging PDF, JPEG and PNG files. Just use merge_pdfs() function using a List() of base64 encoded files as parameter.
        
        .. code:: python
        
            from carol_pdf_generator.carol_pdf_generator import merge_pdfs
            files = [
                base64_jpg,
                DataURI.from_file("test.pdf"),
                base64_jpg1,
                DataURI.from_file("test2.pdf"),
                base64_jpg2,
                DataURI.from_file("test3.pdf")
            ]
        
            data = DataURI(merge_pdfs(files))
            b = BytesIO(data.data) ## Some random BytesIO Object
            with open("test333.pdf", "wb") as f:
                f.write(b.getbuffer())
        
        Contributing
        ------------
        
        Pull requests are welcome. For major changes, please open an issue first
        to discuss what you would like to change.
        
        Please make sure to update tests as appropriate.
        
        
        =======
        History
        =======
        
        0.1.0 (2020-09-15)
        ------------------
        
        * First release on PyPI.
        
Keywords: carol_pdf_generator
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
