diff options
Diffstat (limited to 'fpdfsdk/src/fpdfsave.cpp')
-rw-r--r-- | fpdfsdk/src/fpdfsave.cpp | 98 |
1 files changed, 51 insertions, 47 deletions
diff --git a/fpdfsdk/src/fpdfsave.cpp b/fpdfsdk/src/fpdfsave.cpp index ddd6f6e90e..4b9d7acecf 100644 --- a/fpdfsdk/src/fpdfsave.cpp +++ b/fpdfsdk/src/fpdfsave.cpp @@ -18,76 +18,80 @@ class CFX_IFileWrite final : public IFX_StreamWrite { public: - CFX_IFileWrite(); - FX_BOOL Init( FPDF_FILEWRITE * pFileWriteStruct ); - virtual FX_BOOL WriteBlock(const void* pData, size_t size) override; - virtual void Release() override {} + CFX_IFileWrite(); + FX_BOOL Init( FPDF_FILEWRITE * pFileWriteStruct ); + virtual FX_BOOL WriteBlock(const void* pData, size_t size) override; + virtual void Release() override {} protected: - FPDF_FILEWRITE* m_pFileWriteStruct; + FPDF_FILEWRITE* m_pFileWriteStruct; }; CFX_IFileWrite::CFX_IFileWrite() { - m_pFileWriteStruct = NULL; + m_pFileWriteStruct = NULL; } FX_BOOL CFX_IFileWrite::Init( FPDF_FILEWRITE * pFileWriteStruct ) { - if (!pFileWriteStruct) - return FALSE; - - m_pFileWriteStruct = pFileWriteStruct; - return TRUE; + if (!pFileWriteStruct) + return FALSE; + else + { + m_pFileWriteStruct = pFileWriteStruct; + } + return TRUE; } FX_BOOL CFX_IFileWrite::WriteBlock(const void* pData, size_t size) { - if (!m_pFileWriteStruct) - return FALSE; - - m_pFileWriteStruct->WriteBlock( m_pFileWriteStruct, pData, size ); - return TRUE; + if (m_pFileWriteStruct) + { + m_pFileWriteStruct->WriteBlock( m_pFileWriteStruct, pData, size ); + return TRUE; + } + else + return FALSE; } FPDF_BOOL _FPDF_Doc_Save(FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,FPDF_DWORD flags, FPDF_BOOL bSetVersion, - int fileVerion) + int fileVerion) { - CPDF_Document* pDoc = (CPDF_Document*)document; - if (!pDoc) - return 0; - - if ( flags < FPDF_INCREMENTAL || flags > FPDF_REMOVE_SECURITY ) - { - flags = 0; - } - - CPDF_Creator FileMaker(pDoc); - if(bSetVersion) - FileMaker.SetFileVersion(fileVerion); - if(flags == FPDF_REMOVE_SECURITY) - { - flags = 0; - FileMaker.RemoveSecurity(); - } - CFX_IFileWrite* pStreamWrite = NULL; - FX_BOOL bRet; - pStreamWrite = new CFX_IFileWrite; - pStreamWrite->Init( pFileWrite ); - bRet = FileMaker.Create(pStreamWrite, flags); - delete pStreamWrite; - return bRet; + CPDF_Document* pDoc = (CPDF_Document*)document; + if (!pDoc) + return 0; + + if ( flags < FPDF_INCREMENTAL || flags > FPDF_REMOVE_SECURITY ) + { + flags = 0; + } + + CPDF_Creator FileMaker(pDoc); + if(bSetVersion) + FileMaker.SetFileVersion(fileVerion); + if(flags == FPDF_REMOVE_SECURITY) + { + flags = 0; + FileMaker.RemoveSecurity(); + } + CFX_IFileWrite* pStreamWrite = NULL; + FX_BOOL bRet; + pStreamWrite = new CFX_IFileWrite; + pStreamWrite->Init( pFileWrite ); + bRet = FileMaker.Create(pStreamWrite, flags); + delete pStreamWrite; + return bRet; } -DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsCopy( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite, - FPDF_DWORD flags ) +DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsCopy( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite, + FPDF_DWORD flags ) { - return _FPDF_Doc_Save(document, pFileWrite, flags, FALSE , 0); + return _FPDF_Doc_Save(document, pFileWrite, flags, FALSE , 0); } -DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveWithVersion( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite, - FPDF_DWORD flags, int fileVersion) +DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveWithVersion( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite, + FPDF_DWORD flags, int fileVersion) { - return _FPDF_Doc_Save(document, pFileWrite, flags, TRUE , fileVersion); + return _FPDF_Doc_Save(document, pFileWrite, flags, TRUE , fileVersion); } |