.. index:: 
  !DocumentInfo Class

.. _id3_document_document_info_class:

===============================================================================
DocumentInfo Class
===============================================================================

Namespace: :ref:`id3.Document<reference_document>`

.. toctree::
  :hidden:

  category<category>
  clone<clone>
  country<country>
  date<date>
  description<description>
  format<format>
  identifier<identifier>
  mrzType<mrz_type>
  name<name>
  pageNumber<page_number>


Definition
----------
.. line-block::
    Represents document information.

.. tab-set::

    .. tab-item:: Python
      :sync: Python

      .. code:: Python

        class DocumentInfo

    .. tab-item:: Dart
      :sync: Dart

      .. code:: Dart

        class DocumentInfo implements Finalizable

    .. tab-item:: C#
      :sync: C#

      .. code:: C#

        public partial class DocumentInfo

    .. tab-item:: Java
      :sync: Java

      .. code:: Java

        public class DocumentInfo implements AutoCloseable, Serializable

    .. tab-item:: Swift
      :sync: Swift

      .. code:: Swift

        public class DocumentInfo

    .. tab-item:: C
      :sync: C

      .. code:: C

        typedef struct id3DocumentInfo *ID3_DOCUMENT_INFO;



Usage
-----

.. tab-set::

    .. tab-item:: Python
      :sync: Python

      .. code:: Python

        documentInfoInstance = DocumentInfo()
        # ...

      **Explicit destruction**

      .. code:: Python

        # ...
        del documentInfoInstance

    .. tab-item:: Dart
      :sync: Dart

      .. code:: Dart

        final documentInfoInstance = sdk.DocumentInfo();
        // ...

      **Explicit destruction**

      .. code:: Dart

        // ...
        documentInfoInstance.dispose()

    .. tab-item:: C#
      :sync: C#

      .. code:: C#

        using (var documentInfoInstance = new DocumentInfo())
        {
           // ...
        }

      **Explicit destruction**

      .. code:: C#

        var documentInfoInstance = new DocumentInfo()
        // ...
        documentInfoInstance.Dispose()

    .. tab-item:: Java
      :sync: Java

      .. code:: Java

        try (DocumentInfo documentInfoInstance = new DocumentInfo()) {
        // ...
        }

      **Explicit destruction**

      .. code:: Java

        DocumentInfo documentInfoInstance = new DocumentInfo();
        // ...
        documentInfoInstance.close();

    .. tab-item:: Swift
      :sync: Swift

      .. code:: Swift

        private var documentInfoInstance: DocumentInfo? = nil
        documentInfoInstance = try DocumentInfo()

    .. tab-item:: C
      :sync: C

      .. code:: C

        ID3_DOCUMENT_INFO hDocumentInfo{};
        int err = id3DocumentInfo_Initialize(&hDocumentInfo);
        if (err == ID3_SUCCESS) {
            // ...
            id3DocumentInfo_Dispose(&hDocumentInfo);
        }


Properties
----------

.. list-table:: 
  :width: 100%
  :widths: 30 5 65
  :header-rows: 1

  * - Name
    - Type
    - Description
  * - :ref:`category<id3_document_document_info_category_class_member>`
    - :ref:`DocumentCategory<id3_document_document_category_enum>`
    - The document category.
  * - :ref:`country<id3_document_document_info_country_class_member>`
    - string
    - The ISO 3166-1 alpha-3 code identifying the country issuing the document.
  * - :ref:`date<id3_document_document_info_date_class_member>`
    - string
    - The document's date of first issue, in the form `YYYY-MM-DD`.
  * - :ref:`description<id3_document_document_info_description_class_member>`
    - string
    - The document description.
  * - :ref:`format<id3_document_document_info_format_class_member>`
    - :ref:`DocumentFormat<id3_document_document_format_enum>`
    - The document format.
  * - :ref:`identifier<id3_document_document_info_identifier_class_member>`
    - string
    - The document identifier.
  * - :ref:`mrzType<id3_document_document_info_mrz_type_class_member>`
    - :ref:`MrzType<id3_document_mrz_type_enum>`
    - The type of machine-readable zone (MRZ), if applicable.
  * - :ref:`name<id3_document_document_info_name_class_member>`
    - string
    - The document type name.
  * - :ref:`pageNumber<id3_document_document_info_page_number_class_member>`
    - int
    - The page number of the document.

Methods
-------

.. list-table:: 
  :width: 100%
  :widths: 30 70
  :header-rows: 1

  * - Name
    - Description
  * - :ref:`clone<id3_document_document_info_clone_class_method>`
    - Clones the DocumentInfo object.
