
##########################################
A3DPDFInitializePDFLibAndResourceDirectory
##########################################

.. c:function:: A3DStatus A3DPDFInitializePDFLibAndResourceDirectory(const A3DUTF8Char *pcResourceDirectory)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DPDFInitializePDFLibAndResourceDirectory(*const* :c:type:`~A3DUTF8Char`\ \* **pcResourceDirectory**\ )
   
   Function to initialize the PDF Library and set the resource directory.
   
   This function initializes the Adobe PDF Library which is internally used by HOOPS Publish, and indicates where the resource directory is located. The resource directory is used by the Adobe PDF Library to manipulate text data. Customers should consider as a general rule that a complete resource directory (subfolders included) should always exist in the distribution and should always be specified to the :c:func:`~A3DPDFInitializePDFLibAndResourceDirectory`\ function. Not providing a valid resource directory can lead to unexpected behavior and crashes. As an example, the Table functionality fails if the resource directory doesn't exist or is not specified. A minimal exception to this rule might be when the PDF document generated doesn't contain any text strings, whatever the source (added with HOOPS Publish functions or even already defined in a provided PDF template).
   
   The resource directory is provided with the HOOPS Publish package in the \bin\resource folder. Please also consider all subfolders as part of the resources.
   
   This function should be called before calling any function working on the PDF document, and only once during the life of the application.
   
   **Parameters**
   
   
      **pcResourceDirectory**\ : The path of an existing directory with full resource definition as provided in the HOOPS Publish package. The path must be absolute, or must be relative to the location of your binary files. If relative, please make it start by a '.' or ".." character. Empty string ("") is valid but should be used very cautiously as not using resources can lead to unexpected behavior and crashes (see function description).
   
   
   **Returns**
   
   
      A3D_SUCCESS in case of success or an error code
   
   




