| // Copyright 2014 PDFium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| #ifndef _FPDFSAVE_H_ | |
| #define _FPDFSAVE_H_ | |
| #include "fpdfview.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| // Structure for custom file write | |
| struct FPDF_FILEWRITE{ | |
| // | |
| //Version number of the interface. Currently must be 1. | |
| // | |
| int version; | |
| // | |
| // Method: WriteBlock | |
| // Output a block of data in your custom way. | |
| // Interface Version: | |
| // 1 | |
| // Implementation Required: | |
| // Yes | |
| // Comments: | |
| // Called by function FPDF_SaveDocument | |
| // Parameters: | |
| // pThis - Pointer to the structure itself | |
| // pData - Pointer to a buffer to output | |
| // size - The size of the buffer. | |
| // Return value: | |
| // Should be non-zero if successful, zero for error. | |
| // | |
| int (*WriteBlock)( FPDF_FILEWRITE* pThis, const void* pData, unsigned long size); | |
| }; | |
| /** @brief Incremental. */ | |
| #define FPDF_INCREMENTAL 1 | |
| /** @brief No Incremental. */ | |
| #define FPDF_NO_INCREMENTAL 2 | |
| // Function: FPDF_SaveAsCopy | |
| // Saves the copy of specified document in custom way. | |
| // Parameters: | |
| // document - Handle to document. Returned by FPDF_LoadDocument and FPDF_CreateNewDocument. | |
| // pFileWrite - A pointer to a custom file write structure. | |
| // flags - The creating flags. | |
| // Return value: | |
| // TRUE for succeed, FALSE for failed. | |
| // | |
| DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsCopy( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite, | |
| FPDF_DWORD flags ); | |
| // Function: FPDF_SaveWithVersion | |
| // Same as function ::FPDF_SaveAsCopy, except the file version of the saved document could be specified by user. | |
| // Parameters: | |
| // document - Handle to document. | |
| // pFileWrite - A pointer to a custom file write structure. | |
| // flags - The creating flags. | |
| // fileVersion - The PDF file version. File version: 14 for 1.4, 15 for 1.5, ... | |
| // Return value: | |
| // TRUE if succeed, FALSE if failed. | |
| // | |
| DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveWithVersion(FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite, | |
| FPDF_DWORD flags, int fileVersion); | |
| #ifdef __cplusplus | |
| }; | |
| #endif | |
| #endif //_FPDFSAVE_H_ |