• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef _FPDFSAVE_H_
8 #define _FPDFSAVE_H_
9 
10 #include "fpdfview.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 
17 // Structure for custom file write
18 struct FPDF_FILEWRITE{
19 
20 	//
21 	//Version number of the interface. Currently must be 1.
22 	//
23 	int version;
24 
25 	//
26 	// Method: WriteBlock
27 	//			Output a block of data in your custom way.
28 	// Interface Version:
29 	//			1
30 	// Implementation Required:
31 	//			Yes
32 	// Comments:
33 	//			Called by function FPDF_SaveDocument
34 	// Parameters:
35 	//			pThis		-	Pointer to the structure itself
36 	//			pData		-	Pointer to a buffer to output
37 	//			size		-	The size of the buffer.
38 	// Return value:
39 	//			Should be non-zero if successful, zero for error.
40 	//
41 	int		(*WriteBlock)( FPDF_FILEWRITE* pThis, const void* pData, unsigned long size);
42 
43 };
44 
45 
46 /** @brief Incremental. */
47 #define FPDF_INCREMENTAL		1
48 /** @brief No Incremental. */
49 #define FPDF_NO_INCREMENTAL		2
50 
51 
52 // Function: FPDF_SaveAsCopy
53 //			Saves the copy of specified document in custom way.
54 // Parameters:
55 //			document		-	Handle to document. Returned by FPDF_LoadDocument and FPDF_CreateNewDocument.
56 //			pFileWrite		-	A pointer to a custom file write structure.
57 //			flags			-	The creating flags.
58 // Return value:
59 //			TRUE for succeed, FALSE for failed.
60 //
61 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveAsCopy(	FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,
62 												FPDF_DWORD flags );
63 
64 // Function: FPDF_SaveWithVersion
65 //			Same as function ::FPDF_SaveAsCopy, except the file version of the saved document could be specified by user.
66 // Parameters:
67 //			document		-	Handle to document.
68 //			pFileWrite		-	A pointer to a custom file write structure.
69 //			flags			-	The creating flags.
70 //			fileVersion		-	The PDF file version. File version: 14 for 1.4, 15 for 1.5, ...
71 // Return value:
72 //			TRUE if succeed, FALSE if failed.
73 //
74 DLLEXPORT FPDF_BOOL STDCALL FPDF_SaveWithVersion(FPDF_DOCUMENT document,FPDF_FILEWRITE * pFileWrite,
75 	FPDF_DWORD flags, int fileVersion);
76 
77 #ifdef __cplusplus
78 };
79 #endif
80 
81 #endif //_FPDFSAVE_H_
82