1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
17 // Structure for custom file write
18 struct FPDF_FILEWRITE{
21 //Version number of the interface. Currently must be 1.
27 // Output a block of data in your custom way.
30 // Implementation Required:
33 // Called by function FPDF_SaveDocument
35 // pThis - Pointer to the structure itself
36 // pData - Pointer to a buffer to output
37 // size - The size of the buffer.
39 // Should be non-zero if successful, zero for error.
41 int (*WriteBlock)( FPDF_FILEWRITE* pThis, const void* pData, unsigned long size);
46 /** @brief Incremental. */
47 #define FPDF_INCREMENTAL 1
48 /** @brief No Incremental. */
49 #define FPDF_NO_INCREMENTAL 2
50 /** @brief Remove security. */
51 #define FPDF_REMOVE_SECURITY 3
53 // Function: FPDF_SaveAsCopy
54 // Saves the copy of specified document in custom way.
56 // document - Handle to document. Returned by FPDF_LoadDocument and FPDF_CreateNewDocument.
57 // pFileWrite - A pointer to a custom file write structure.
58 // flags - The creating flags.
60 // TRUE for succeed, FALSE for failed.
62 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsCopy( FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,
65 // Function: FPDF_SaveWithVersion
66 // Same as function ::FPDF_SaveAsCopy, except the file version of the saved document could be specified by user.
68 // document - Handle to document.
69 // pFileWrite - A pointer to a custom file write structure.
70 // flags - The creating flags.
71 // fileVersion - The PDF file version. File version: 14 for 1.4, 15 for 1.5, ...
73 // TRUE if succeed, FALSE if failed.
75 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveWithVersion(FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,
76 FPDF_DWORD flags, int fileVersion);