/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // // PdfExport.h - Open Design Pdf Export definitions // /////////////////////////////////////////////////////////////////////////////// #ifndef _PDF_EXPORT_INCLUDED_ #define _PDF_EXPORT_INCLUDED_ #include "RxModule.h" #include "PdfExportDef.h" #include "PdfExportParams.h" /** \details */ namespace TD_PDF_2D_EXPORT{ struct PdfExportParamsForXObject; /** \details This class implements the PDF export. */ class PDFEXPORT_DLL OdPdfExport : public OdRxObject { public: ODRX_DECLARE_MEMBERS(OdPdfExport); /** \details Pure virtual method for PDF export implementation. \remarks Using an instance of PDFExportParams class as a set of export parameters. \param pParams [in] Parameters used by the PDF export procedure. */ virtual OdUInt32 exportPdf(PDFExportParams &pParams) = 0; /** \details Pure virtual method returning PDF export error description by error code. \remarks Returns string with error description according the passed error code. \param errorCode [in] Error code, that can be received from the /exportPdf()/ method. */ virtual OdString exportPdfErrorCode(OdUInt32 errorCode) = 0; /** \details Pure virtual method for Publish implementation. \remarks Using an instance of PRCExportParams class as a set of publish parameters. \param pParams [in] Parameters used by the publish procedure. \param outStreamsPRC [out] Receives the PRCStreamsMap parameter. PRCStreamsMap includes the index of the viewport and the prc stream from this viewport. */ virtual OdUInt32 exportToPRCStreams(PRCExportParams& pParams, PRCStreamsMap &outStreamsPRC) = 0; // for internal use ONLY virtual OdUInt32 export2XObject(PDFExport2DParams &pParams, PdfExportParamsForXObject* pExportParams, double xobject_width, double xobject_height) = 0; }; /** \details Implements the smart pointer to the PDF export. */ typedef OdSmartPtr OdPdfExportPtr; /** \details This class implements the PDF export module. */ class PdfExportModule : public OdRxModule { public: /** \details Pure virtual method for implementing creation of the OdPdfExport class instance. \remarks Returns a smart pointer to the created module. */ virtual OdPdfExportPtr create() = 0; }; /** \details Implements the smart pointer to the PDF export module. */ typedef OdSmartPtr OdPdfExportModulePtr; } #endif // _PDF_EXPORT_INCLUDED_