# coding: utf-8

"""
    DocRaptor

    A native client library for the DocRaptor HTML to PDF/XLS service.  # noqa: E501

    The version of the OpenAPI document: 2.0.0
    Generated by: https://openapi-generator.tech
"""


try:
    from inspect import getfullargspec
except ImportError:
    from inspect import getargspec as getfullargspec
import pprint
import re  # noqa: F401
import six

from docraptor.configuration import Configuration


class PrinceOptions(object):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    openapi_types = {
        'baseurl': 'str',
        'no_xinclude': 'bool',
        'no_network': 'bool',
        'no_parallel_downloads': 'bool',
        'http_user': 'str',
        'http_password': 'str',
        'http_proxy': 'str',
        'http_timeout': 'int',
        'insecure': 'bool',
        'media': 'str',
        'no_author_style': 'bool',
        'no_default_style': 'bool',
        'no_embed_fonts': 'bool',
        'no_subset_fonts': 'bool',
        'no_compress': 'bool',
        'encrypt': 'bool',
        'key_bits': 'int',
        'user_password': 'str',
        'owner_password': 'str',
        'disallow_print': 'bool',
        'disallow_copy': 'bool',
        'disallow_annotate': 'bool',
        'disallow_modify': 'bool',
        'debug': 'bool',
        'input': 'str',
        'version': 'str',
        'javascript': 'bool',
        'css_dpi': 'int',
        'profile': 'str',
        'pdf_title': 'str'
    }

    attribute_map = {
        'baseurl': 'baseurl',
        'no_xinclude': 'no_xinclude',
        'no_network': 'no_network',
        'no_parallel_downloads': 'no_parallel_downloads',
        'http_user': 'http_user',
        'http_password': 'http_password',
        'http_proxy': 'http_proxy',
        'http_timeout': 'http_timeout',
        'insecure': 'insecure',
        'media': 'media',
        'no_author_style': 'no_author_style',
        'no_default_style': 'no_default_style',
        'no_embed_fonts': 'no_embed_fonts',
        'no_subset_fonts': 'no_subset_fonts',
        'no_compress': 'no_compress',
        'encrypt': 'encrypt',
        'key_bits': 'key_bits',
        'user_password': 'user_password',
        'owner_password': 'owner_password',
        'disallow_print': 'disallow_print',
        'disallow_copy': 'disallow_copy',
        'disallow_annotate': 'disallow_annotate',
        'disallow_modify': 'disallow_modify',
        'debug': 'debug',
        'input': 'input',
        'version': 'version',
        'javascript': 'javascript',
        'css_dpi': 'css_dpi',
        'profile': 'profile',
        'pdf_title': 'pdf_title'
    }

    def __init__(self, baseurl=None, no_xinclude=None, no_network=None, no_parallel_downloads=None, http_user=None, http_password=None, http_proxy=None, http_timeout=None, insecure=None, media='print', no_author_style=None, no_default_style=None, no_embed_fonts=None, no_subset_fonts=None, no_compress=None, encrypt=None, key_bits=None, user_password=None, owner_password=None, disallow_print=None, disallow_copy=None, disallow_annotate=None, disallow_modify=None, debug=None, input='html', version=None, javascript=None, css_dpi=None, profile=None, pdf_title=None, local_vars_configuration=None):  # noqa: E501
        """PrinceOptions - a model defined in OpenAPI"""  # noqa: E501
        if local_vars_configuration is None:
            local_vars_configuration = Configuration.get_default_copy()
        self.local_vars_configuration = local_vars_configuration

        self._baseurl = None
        self._no_xinclude = None
        self._no_network = None
        self._no_parallel_downloads = None
        self._http_user = None
        self._http_password = None
        self._http_proxy = None
        self._http_timeout = None
        self._insecure = None
        self._media = None
        self._no_author_style = None
        self._no_default_style = None
        self._no_embed_fonts = None
        self._no_subset_fonts = None
        self._no_compress = None
        self._encrypt = None
        self._key_bits = None
        self._user_password = None
        self._owner_password = None
        self._disallow_print = None
        self._disallow_copy = None
        self._disallow_annotate = None
        self._disallow_modify = None
        self._debug = None
        self._input = None
        self._version = None
        self._javascript = None
        self._css_dpi = None
        self._profile = None
        self._pdf_title = None
        self.discriminator = None

        if baseurl is not None:
            self.baseurl = baseurl
        if no_xinclude is not None:
            self.no_xinclude = no_xinclude
        if no_network is not None:
            self.no_network = no_network
        if no_parallel_downloads is not None:
            self.no_parallel_downloads = no_parallel_downloads
        if http_user is not None:
            self.http_user = http_user
        if http_password is not None:
            self.http_password = http_password
        if http_proxy is not None:
            self.http_proxy = http_proxy
        if http_timeout is not None:
            self.http_timeout = http_timeout
        if insecure is not None:
            self.insecure = insecure
        if media is not None:
            self.media = media
        if no_author_style is not None:
            self.no_author_style = no_author_style
        if no_default_style is not None:
            self.no_default_style = no_default_style
        if no_embed_fonts is not None:
            self.no_embed_fonts = no_embed_fonts
        if no_subset_fonts is not None:
            self.no_subset_fonts = no_subset_fonts
        if no_compress is not None:
            self.no_compress = no_compress
        if encrypt is not None:
            self.encrypt = encrypt
        if key_bits is not None:
            self.key_bits = key_bits
        if user_password is not None:
            self.user_password = user_password
        if owner_password is not None:
            self.owner_password = owner_password
        if disallow_print is not None:
            self.disallow_print = disallow_print
        if disallow_copy is not None:
            self.disallow_copy = disallow_copy
        if disallow_annotate is not None:
            self.disallow_annotate = disallow_annotate
        if disallow_modify is not None:
            self.disallow_modify = disallow_modify
        if debug is not None:
            self.debug = debug
        if input is not None:
            self.input = input
        if version is not None:
            self.version = version
        if javascript is not None:
            self.javascript = javascript
        if css_dpi is not None:
            self.css_dpi = css_dpi
        if profile is not None:
            self.profile = profile
        if pdf_title is not None:
            self.pdf_title = pdf_title

    @property
    def baseurl(self):
        """Gets the baseurl of this PrinceOptions.  # noqa: E501

        Set the baseurl for assets.  # noqa: E501

        :return: The baseurl of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._baseurl

    @baseurl.setter
    def baseurl(self, baseurl):
        """Sets the baseurl of this PrinceOptions.

        Set the baseurl for assets.  # noqa: E501

        :param baseurl: The baseurl of this PrinceOptions.  # noqa: E501
        :type baseurl: str
        """

        self._baseurl = baseurl

    @property
    def no_xinclude(self):
        """Gets the no_xinclude of this PrinceOptions.  # noqa: E501

        Disable XML inclusion.  # noqa: E501

        :return: The no_xinclude of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_xinclude

    @no_xinclude.setter
    def no_xinclude(self, no_xinclude):
        """Sets the no_xinclude of this PrinceOptions.

        Disable XML inclusion.  # noqa: E501

        :param no_xinclude: The no_xinclude of this PrinceOptions.  # noqa: E501
        :type no_xinclude: bool
        """

        self._no_xinclude = no_xinclude

    @property
    def no_network(self):
        """Gets the no_network of this PrinceOptions.  # noqa: E501

        Disable network access.  # noqa: E501

        :return: The no_network of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_network

    @no_network.setter
    def no_network(self, no_network):
        """Sets the no_network of this PrinceOptions.

        Disable network access.  # noqa: E501

        :param no_network: The no_network of this PrinceOptions.  # noqa: E501
        :type no_network: bool
        """

        self._no_network = no_network

    @property
    def no_parallel_downloads(self):
        """Gets the no_parallel_downloads of this PrinceOptions.  # noqa: E501

        Disables parallel fetching of assets during PDF creation. Useful if your asset host has strict rate limiting.  # noqa: E501

        :return: The no_parallel_downloads of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_parallel_downloads

    @no_parallel_downloads.setter
    def no_parallel_downloads(self, no_parallel_downloads):
        """Sets the no_parallel_downloads of this PrinceOptions.

        Disables parallel fetching of assets during PDF creation. Useful if your asset host has strict rate limiting.  # noqa: E501

        :param no_parallel_downloads: The no_parallel_downloads of this PrinceOptions.  # noqa: E501
        :type no_parallel_downloads: bool
        """

        self._no_parallel_downloads = no_parallel_downloads

    @property
    def http_user(self):
        """Gets the http_user of this PrinceOptions.  # noqa: E501

        Set the user for HTTP authentication.  # noqa: E501

        :return: The http_user of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._http_user

    @http_user.setter
    def http_user(self, http_user):
        """Sets the http_user of this PrinceOptions.

        Set the user for HTTP authentication.  # noqa: E501

        :param http_user: The http_user of this PrinceOptions.  # noqa: E501
        :type http_user: str
        """

        self._http_user = http_user

    @property
    def http_password(self):
        """Gets the http_password of this PrinceOptions.  # noqa: E501

        Set the password for HTTP authentication.  # noqa: E501

        :return: The http_password of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._http_password

    @http_password.setter
    def http_password(self, http_password):
        """Sets the http_password of this PrinceOptions.

        Set the password for HTTP authentication.  # noqa: E501

        :param http_password: The http_password of this PrinceOptions.  # noqa: E501
        :type http_password: str
        """

        self._http_password = http_password

    @property
    def http_proxy(self):
        """Gets the http_proxy of this PrinceOptions.  # noqa: E501

        Set the HTTP proxy server.  # noqa: E501

        :return: The http_proxy of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._http_proxy

    @http_proxy.setter
    def http_proxy(self, http_proxy):
        """Sets the http_proxy of this PrinceOptions.

        Set the HTTP proxy server.  # noqa: E501

        :param http_proxy: The http_proxy of this PrinceOptions.  # noqa: E501
        :type http_proxy: str
        """

        self._http_proxy = http_proxy

    @property
    def http_timeout(self):
        """Gets the http_timeout of this PrinceOptions.  # noqa: E501

        Set the HTTP request timeout.  # noqa: E501

        :return: The http_timeout of this PrinceOptions.  # noqa: E501
        :rtype: int
        """
        return self._http_timeout

    @http_timeout.setter
    def http_timeout(self, http_timeout):
        """Sets the http_timeout of this PrinceOptions.

        Set the HTTP request timeout.  # noqa: E501

        :param http_timeout: The http_timeout of this PrinceOptions.  # noqa: E501
        :type http_timeout: int
        """

        self._http_timeout = http_timeout

    @property
    def insecure(self):
        """Gets the insecure of this PrinceOptions.  # noqa: E501

        Disable SSL verification.  # noqa: E501

        :return: The insecure of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._insecure

    @insecure.setter
    def insecure(self, insecure):
        """Sets the insecure of this PrinceOptions.

        Disable SSL verification.  # noqa: E501

        :param insecure: The insecure of this PrinceOptions.  # noqa: E501
        :type insecure: bool
        """

        self._insecure = insecure

    @property
    def media(self):
        """Gets the media of this PrinceOptions.  # noqa: E501

        Specify the CSS media type. Defaults to \"print\" but you may want to use \"screen\" for web styles.  # noqa: E501

        :return: The media of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._media

    @media.setter
    def media(self, media):
        """Sets the media of this PrinceOptions.

        Specify the CSS media type. Defaults to \"print\" but you may want to use \"screen\" for web styles.  # noqa: E501

        :param media: The media of this PrinceOptions.  # noqa: E501
        :type media: str
        """

        self._media = media

    @property
    def no_author_style(self):
        """Gets the no_author_style of this PrinceOptions.  # noqa: E501

        Ignore author stylesheets.  # noqa: E501

        :return: The no_author_style of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_author_style

    @no_author_style.setter
    def no_author_style(self, no_author_style):
        """Sets the no_author_style of this PrinceOptions.

        Ignore author stylesheets.  # noqa: E501

        :param no_author_style: The no_author_style of this PrinceOptions.  # noqa: E501
        :type no_author_style: bool
        """

        self._no_author_style = no_author_style

    @property
    def no_default_style(self):
        """Gets the no_default_style of this PrinceOptions.  # noqa: E501

        Ignore default stylesheets.  # noqa: E501

        :return: The no_default_style of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_default_style

    @no_default_style.setter
    def no_default_style(self, no_default_style):
        """Sets the no_default_style of this PrinceOptions.

        Ignore default stylesheets.  # noqa: E501

        :param no_default_style: The no_default_style of this PrinceOptions.  # noqa: E501
        :type no_default_style: bool
        """

        self._no_default_style = no_default_style

    @property
    def no_embed_fonts(self):
        """Gets the no_embed_fonts of this PrinceOptions.  # noqa: E501

        Disable font embedding in PDFs.  # noqa: E501

        :return: The no_embed_fonts of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_embed_fonts

    @no_embed_fonts.setter
    def no_embed_fonts(self, no_embed_fonts):
        """Sets the no_embed_fonts of this PrinceOptions.

        Disable font embedding in PDFs.  # noqa: E501

        :param no_embed_fonts: The no_embed_fonts of this PrinceOptions.  # noqa: E501
        :type no_embed_fonts: bool
        """

        self._no_embed_fonts = no_embed_fonts

    @property
    def no_subset_fonts(self):
        """Gets the no_subset_fonts of this PrinceOptions.  # noqa: E501

        Disable font subsetting in PDFs.  # noqa: E501

        :return: The no_subset_fonts of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_subset_fonts

    @no_subset_fonts.setter
    def no_subset_fonts(self, no_subset_fonts):
        """Sets the no_subset_fonts of this PrinceOptions.

        Disable font subsetting in PDFs.  # noqa: E501

        :param no_subset_fonts: The no_subset_fonts of this PrinceOptions.  # noqa: E501
        :type no_subset_fonts: bool
        """

        self._no_subset_fonts = no_subset_fonts

    @property
    def no_compress(self):
        """Gets the no_compress of this PrinceOptions.  # noqa: E501

        Disable PDF compression.  # noqa: E501

        :return: The no_compress of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._no_compress

    @no_compress.setter
    def no_compress(self, no_compress):
        """Sets the no_compress of this PrinceOptions.

        Disable PDF compression.  # noqa: E501

        :param no_compress: The no_compress of this PrinceOptions.  # noqa: E501
        :type no_compress: bool
        """

        self._no_compress = no_compress

    @property
    def encrypt(self):
        """Gets the encrypt of this PrinceOptions.  # noqa: E501

        Encrypt PDF output.  # noqa: E501

        :return: The encrypt of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._encrypt

    @encrypt.setter
    def encrypt(self, encrypt):
        """Sets the encrypt of this PrinceOptions.

        Encrypt PDF output.  # noqa: E501

        :param encrypt: The encrypt of this PrinceOptions.  # noqa: E501
        :type encrypt: bool
        """

        self._encrypt = encrypt

    @property
    def key_bits(self):
        """Gets the key_bits of this PrinceOptions.  # noqa: E501

        Set encryption key size.  # noqa: E501

        :return: The key_bits of this PrinceOptions.  # noqa: E501
        :rtype: int
        """
        return self._key_bits

    @key_bits.setter
    def key_bits(self, key_bits):
        """Sets the key_bits of this PrinceOptions.

        Set encryption key size.  # noqa: E501

        :param key_bits: The key_bits of this PrinceOptions.  # noqa: E501
        :type key_bits: int
        """

        self._key_bits = key_bits

    @property
    def user_password(self):
        """Gets the user_password of this PrinceOptions.  # noqa: E501

        Set the PDF user password.  # noqa: E501

        :return: The user_password of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._user_password

    @user_password.setter
    def user_password(self, user_password):
        """Sets the user_password of this PrinceOptions.

        Set the PDF user password.  # noqa: E501

        :param user_password: The user_password of this PrinceOptions.  # noqa: E501
        :type user_password: str
        """

        self._user_password = user_password

    @property
    def owner_password(self):
        """Gets the owner_password of this PrinceOptions.  # noqa: E501

        Set the PDF owner password.  # noqa: E501

        :return: The owner_password of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._owner_password

    @owner_password.setter
    def owner_password(self, owner_password):
        """Sets the owner_password of this PrinceOptions.

        Set the PDF owner password.  # noqa: E501

        :param owner_password: The owner_password of this PrinceOptions.  # noqa: E501
        :type owner_password: str
        """

        self._owner_password = owner_password

    @property
    def disallow_print(self):
        """Gets the disallow_print of this PrinceOptions.  # noqa: E501

        Disallow printing of this PDF.  # noqa: E501

        :return: The disallow_print of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._disallow_print

    @disallow_print.setter
    def disallow_print(self, disallow_print):
        """Sets the disallow_print of this PrinceOptions.

        Disallow printing of this PDF.  # noqa: E501

        :param disallow_print: The disallow_print of this PrinceOptions.  # noqa: E501
        :type disallow_print: bool
        """

        self._disallow_print = disallow_print

    @property
    def disallow_copy(self):
        """Gets the disallow_copy of this PrinceOptions.  # noqa: E501

        Disallow copying of this PDF.  # noqa: E501

        :return: The disallow_copy of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._disallow_copy

    @disallow_copy.setter
    def disallow_copy(self, disallow_copy):
        """Sets the disallow_copy of this PrinceOptions.

        Disallow copying of this PDF.  # noqa: E501

        :param disallow_copy: The disallow_copy of this PrinceOptions.  # noqa: E501
        :type disallow_copy: bool
        """

        self._disallow_copy = disallow_copy

    @property
    def disallow_annotate(self):
        """Gets the disallow_annotate of this PrinceOptions.  # noqa: E501

        Disallow annotation of this PDF.  # noqa: E501

        :return: The disallow_annotate of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._disallow_annotate

    @disallow_annotate.setter
    def disallow_annotate(self, disallow_annotate):
        """Sets the disallow_annotate of this PrinceOptions.

        Disallow annotation of this PDF.  # noqa: E501

        :param disallow_annotate: The disallow_annotate of this PrinceOptions.  # noqa: E501
        :type disallow_annotate: bool
        """

        self._disallow_annotate = disallow_annotate

    @property
    def disallow_modify(self):
        """Gets the disallow_modify of this PrinceOptions.  # noqa: E501

        Disallow modification of this PDF.  # noqa: E501

        :return: The disallow_modify of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._disallow_modify

    @disallow_modify.setter
    def disallow_modify(self, disallow_modify):
        """Sets the disallow_modify of this PrinceOptions.

        Disallow modification of this PDF.  # noqa: E501

        :param disallow_modify: The disallow_modify of this PrinceOptions.  # noqa: E501
        :type disallow_modify: bool
        """

        self._disallow_modify = disallow_modify

    @property
    def debug(self):
        """Gets the debug of this PrinceOptions.  # noqa: E501

        Enable Prince debug mode.  # noqa: E501

        :return: The debug of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._debug

    @debug.setter
    def debug(self, debug):
        """Sets the debug of this PrinceOptions.

        Enable Prince debug mode.  # noqa: E501

        :param debug: The debug of this PrinceOptions.  # noqa: E501
        :type debug: bool
        """

        self._debug = debug

    @property
    def input(self):
        """Gets the input of this PrinceOptions.  # noqa: E501

        Specify the input format.  # noqa: E501

        :return: The input of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._input

    @input.setter
    def input(self, input):
        """Sets the input of this PrinceOptions.

        Specify the input format.  # noqa: E501

        :param input: The input of this PrinceOptions.  # noqa: E501
        :type input: str
        """
        allowed_values = ["html", "xml", "auto"]  # noqa: E501
        if self.local_vars_configuration.client_side_validation and input not in allowed_values:  # noqa: E501
            raise ValueError(
                "Invalid value for `input` ({0}), must be one of {1}"  # noqa: E501
                .format(input, allowed_values)
            )

        self._input = input

    @property
    def version(self):
        """Gets the version of this PrinceOptions.  # noqa: E501

        Deprecated, use the appropriate `pipeline` version. Specify a specific verison of PrinceXML to use.  # noqa: E501

        :return: The version of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._version

    @version.setter
    def version(self, version):
        """Sets the version of this PrinceOptions.

        Deprecated, use the appropriate `pipeline` version. Specify a specific verison of PrinceXML to use.  # noqa: E501

        :param version: The version of this PrinceOptions.  # noqa: E501
        :type version: str
        """

        self._version = version

    @property
    def javascript(self):
        """Gets the javascript of this PrinceOptions.  # noqa: E501

        Enable PrinceXML JavaScript. DocRaptor JavaScript parsing is also available elsewhere.  # noqa: E501

        :return: The javascript of this PrinceOptions.  # noqa: E501
        :rtype: bool
        """
        return self._javascript

    @javascript.setter
    def javascript(self, javascript):
        """Sets the javascript of this PrinceOptions.

        Enable PrinceXML JavaScript. DocRaptor JavaScript parsing is also available elsewhere.  # noqa: E501

        :param javascript: The javascript of this PrinceOptions.  # noqa: E501
        :type javascript: bool
        """

        self._javascript = javascript

    @property
    def css_dpi(self):
        """Gets the css_dpi of this PrinceOptions.  # noqa: E501

        Set the DPI when rendering CSS. Defaults to 96 but can be set with Prince 9.0 and up.  # noqa: E501

        :return: The css_dpi of this PrinceOptions.  # noqa: E501
        :rtype: int
        """
        return self._css_dpi

    @css_dpi.setter
    def css_dpi(self, css_dpi):
        """Sets the css_dpi of this PrinceOptions.

        Set the DPI when rendering CSS. Defaults to 96 but can be set with Prince 9.0 and up.  # noqa: E501

        :param css_dpi: The css_dpi of this PrinceOptions.  # noqa: E501
        :type css_dpi: int
        """

        self._css_dpi = css_dpi

    @property
    def profile(self):
        """Gets the profile of this PrinceOptions.  # noqa: E501

        In Prince 9.0 and up you can set the PDF profile.  # noqa: E501

        :return: The profile of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._profile

    @profile.setter
    def profile(self, profile):
        """Sets the profile of this PrinceOptions.

        In Prince 9.0 and up you can set the PDF profile.  # noqa: E501

        :param profile: The profile of this PrinceOptions.  # noqa: E501
        :type profile: str
        """

        self._profile = profile

    @property
    def pdf_title(self):
        """Gets the pdf_title of this PrinceOptions.  # noqa: E501

        Specify the PDF title, part of the document's metadata.  # noqa: E501

        :return: The pdf_title of this PrinceOptions.  # noqa: E501
        :rtype: str
        """
        return self._pdf_title

    @pdf_title.setter
    def pdf_title(self, pdf_title):
        """Sets the pdf_title of this PrinceOptions.

        Specify the PDF title, part of the document's metadata.  # noqa: E501

        :param pdf_title: The pdf_title of this PrinceOptions.  # noqa: E501
        :type pdf_title: str
        """

        self._pdf_title = pdf_title

    def to_dict(self, serialize=False):
        """Returns the model properties as a dict"""
        result = {}

        def convert(x):
            if hasattr(x, "to_dict"):
                args = getfullargspec(x.to_dict).args
                if len(args) == 1:
                    return x.to_dict()
                else:
                    return x.to_dict(serialize)
            else:
                return x

        for attr, _ in six.iteritems(self.openapi_types):
            value = getattr(self, attr)
            attr = self.attribute_map.get(attr, attr) if serialize else attr
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: convert(x),
                    value
                ))
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], convert(item[1])),
                    value.items()
                ))
            else:
                result[attr] = convert(value)

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, PrinceOptions):
            return False

        return self.to_dict() == other.to_dict()

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        if not isinstance(other, PrinceOptions):
            return True

        return self.to_dict() != other.to_dict()
