Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
fpdf_ext.cpp
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
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
#
include
"public/fpdf_ext.h"
8
9
#
include
"core/fpdfapi/parser/cpdf_dictionary.h"
10
#
include
"core/fpdfapi/parser/cpdf_document.h"
11
#
include
"core/fpdfdoc/cpdf_interactiveform.h"
12
#
include
"core/fpdfdoc/cpdf_metadata.h"
13
#
include
"core/fxcrt/fx_extension.h"
14
#
include
"fpdfsdk/cpdfsdk_helpers.h"
15
16
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentXFAForm
) ==
17
FPDF_UNSP_DOC_XFAFORM
,
18
"UnsupportedFeature::kDocumentXFAForm value mismatch"
);
19
static_assert
(
20
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentPortableCollection
) ==
21
FPDF_UNSP_DOC_PORTABLECOLLECTION
,
22
"UnsupportedFeature::kDocumentPortableCollection value mismatch"
);
23
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentAttachment
) ==
24
FPDF_UNSP_DOC_ATTACHMENT
,
25
"UnsupportedFeature::kDocumentAttachment value mismatch"
);
26
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentSecurity
) ==
27
FPDF_UNSP_DOC_SECURITY
,
28
"UnsupportedFeature::kDocumentSecurity value mismatch"
);
29
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentSharedReview
) ==
30
FPDF_UNSP_DOC_SHAREDREVIEW
,
31
"UnsupportedFeature::kDocumentSharedReview value mismatch"
);
32
static_assert
(
33
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentSharedFormAcrobat
) ==
34
FPDF_UNSP_DOC_SHAREDFORM_ACROBAT
,
35
"UnsupportedFeature::kDocumentSharedFormAcrobat value mismatch"
);
36
static_assert
(
37
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentSharedFormFilesystem
) ==
38
FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM
,
39
"UnsupportedFeature::kDocumentSharedFormFilesystem value mismatch"
);
40
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kDocumentSharedFormEmail
) ==
41
FPDF_UNSP_DOC_SHAREDFORM_EMAIL
,
42
"UnsupportedFeature::kDocumentSharedFormEmail value mismatch"
);
43
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotation3d
) ==
44
FPDF_UNSP_ANNOT_3DANNOT
,
45
"UnsupportedFeature::kAnnotation3d value mismatch"
);
46
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotationMovie
) ==
47
FPDF_UNSP_ANNOT_MOVIE
,
48
"UnsupportedFeature::kAnnotationMovie value mismatch"
);
49
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotationSound
) ==
50
FPDF_UNSP_ANNOT_SOUND
,
51
"UnsupportedFeature::kAnnotationSound value mismatch"
);
52
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotationScreenMedia
) ==
53
FPDF_UNSP_ANNOT_SCREEN_MEDIA
,
54
"UnsupportedFeature::kAnnotationScreenMedia value mismatch"
);
55
static_assert
(
56
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotationScreenRichMedia
) ==
57
FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA
,
58
"UnsupportedFeature::kAnnotationScreenRichMedia value mismatch"
);
59
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotationAttachment
) ==
60
FPDF_UNSP_ANNOT_ATTACHMENT
,
61
"UnsupportedFeature::kAnnotationAttachment value mismatch"
);
62
static_assert
(
static_cast
<
int
>(
UnsupportedFeature
::
kAnnotationSignature
) ==
63
FPDF_UNSP_ANNOT_SIG
,
64
"UnsupportedFeature::kAnnotationSignature value mismatch"
);
65
66
FPDF_EXPORT
FPDF_BOOL
FPDF_CALLCONV
67
FSDK_SetUnSpObjProcessHandler
(UNSUPPORT_INFO* unsp_info) {
68
if
(!unsp_info || unsp_info
->
version
!= 1)
69
return
false
;
70
71
SetPDFUnsupportInfo
(
unsp_info
)
;
72
return
true
;
73
}
74
75
FPDF_EXPORT
void
FPDF_CALLCONV
FSDK_SetTimeFunction
(time_t (*func)()) {
76
FXSYS_SetTimeFunction
(
func
)
;
77
}
78
79
FPDF_EXPORT
void
FPDF_CALLCONV
80
FSDK_SetLocaltimeFunction
(
struct
tm* (*func)(
const
time_t* tp)) {
81
FXSYS_SetLocaltimeFunction
(
func
)
;
82
}
83
84
FPDF_EXPORT
int
FPDF_CALLCONV
FPDFDoc_GetPageMode
(FPDF_DOCUMENT document) {
85
CPDF_Document
* pDoc =
CPDFDocumentFromFPDFDocument
(
document
)
;
86
if
(!pDoc)
87
return
PAGEMODE_UNKNOWN
;
88
89
const
CPDF_Dictionary
* pRoot = pDoc
->
GetRoot
(
)
;
90
if
(!pRoot)
91
return
PAGEMODE_UNKNOWN
;
92
93
RetainPtr
<
const
CPDF_Object
> pName = pRoot->GetObjectFor(
"PageMode"
);
94
if
(!pName)
95
return
PAGEMODE_USENONE
;
96
97
ByteString
strPageMode = pName->GetString();
98
if
(strPageMode.IsEmpty() || strPageMode
.
EqualNoCase
(
"UseNone"
))
99
return
PAGEMODE_USENONE
;
100
if
(strPageMode
.
EqualNoCase
(
"UseOutlines"
))
101
return
PAGEMODE_USEOUTLINES
;
102
if
(strPageMode
.
EqualNoCase
(
"UseThumbs"
))
103
return
PAGEMODE_USETHUMBS
;
104
if
(strPageMode
.
EqualNoCase
(
"FullScreen"
))
105
return
PAGEMODE_FULLSCREEN
;
106
if
(strPageMode
.
EqualNoCase
(
"UseOC"
))
107
return
PAGEMODE_USEOC
;
108
if
(strPageMode
.
EqualNoCase
(
"UseAttachments"
))
109
return
PAGEMODE_USEATTACHMENTS
;
110
111
return
PAGEMODE_UNKNOWN
;
112
}
ByteString
fxcrt::ByteString ByteString
Definition
bytestring.h:180
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_Document
Definition
cpdf_document.h:29
CPDF_Document::GetRoot
const CPDF_Dictionary * GetRoot() const
Definition
cpdf_document.h:97
CPDF_Object
Definition
cpdf_object.h:50
fxcrt::ByteString::EqualNoCase
bool EqualNoCase(ByteStringView str) const
Definition
bytestring.cpp:281
fxcrt::RetainPtr
Definition
retain_ptr.h:28
UnsupportedFeature
UnsupportedFeature
Definition
cpdf_metadata.h:16
UnsupportedFeature::kAnnotationSignature
@ kAnnotationSignature
Definition
cpdf_metadata.h:32
UnsupportedFeature::kDocumentAttachment
@ kDocumentAttachment
Definition
cpdf_metadata.h:19
UnsupportedFeature::kDocumentSharedFormFilesystem
@ kDocumentSharedFormFilesystem
Definition
cpdf_metadata.h:23
UnsupportedFeature::kAnnotationScreenMedia
@ kAnnotationScreenMedia
Definition
cpdf_metadata.h:29
UnsupportedFeature::kAnnotationSound
@ kAnnotationSound
Definition
cpdf_metadata.h:28
UnsupportedFeature::kDocumentXFAForm
@ kDocumentXFAForm
Definition
cpdf_metadata.h:17
UnsupportedFeature::kDocumentSharedFormAcrobat
@ kDocumentSharedFormAcrobat
Definition
cpdf_metadata.h:22
UnsupportedFeature::kDocumentSecurity
@ kDocumentSecurity
Definition
cpdf_metadata.h:20
UnsupportedFeature::kAnnotationAttachment
@ kAnnotationAttachment
Definition
cpdf_metadata.h:31
UnsupportedFeature::kAnnotation3d
@ kAnnotation3d
Definition
cpdf_metadata.h:26
UnsupportedFeature::kDocumentSharedReview
@ kDocumentSharedReview
Definition
cpdf_metadata.h:21
UnsupportedFeature::kDocumentPortableCollection
@ kDocumentPortableCollection
Definition
cpdf_metadata.h:18
UnsupportedFeature::kDocumentSharedFormEmail
@ kDocumentSharedFormEmail
Definition
cpdf_metadata.h:24
UnsupportedFeature::kAnnotationScreenRichMedia
@ kAnnotationScreenRichMedia
Definition
cpdf_metadata.h:30
UnsupportedFeature::kAnnotationMovie
@ kAnnotationMovie
Definition
cpdf_metadata.h:27
CPDFDocumentFromFPDFDocument
CPDF_Document * CPDFDocumentFromFPDFDocument(FPDF_DOCUMENT doc)
Definition
cpdfsdk_helpers.cpp:205
SetPDFUnsupportInfo
void SetPDFUnsupportInfo(UNSUPPORT_INFO *unsp_info)
Definition
cpdfsdk_helpers.cpp:386
PAGEMODE_USEOC
#define PAGEMODE_USEOC
Definition
fpdf_ext.h:102
FPDF_UNSP_DOC_PORTABLECOLLECTION
#define FPDF_UNSP_DOC_PORTABLECOLLECTION
Definition
fpdf_ext.h:22
PAGEMODE_USEATTACHMENTS
#define PAGEMODE_USEATTACHMENTS
Definition
fpdf_ext.h:104
FPDFDoc_GetPageMode
FPDF_EXPORT int FPDF_CALLCONV FPDFDoc_GetPageMode(FPDF_DOCUMENT document)
Definition
fpdf_ext.cpp:84
FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA
#define FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA
Definition
fpdf_ext.h:44
FPDF_UNSP_ANNOT_ATTACHMENT
#define FPDF_UNSP_ANNOT_ATTACHMENT
Definition
fpdf_ext.h:46
FPDF_UNSP_DOC_SECURITY
#define FPDF_UNSP_DOC_SECURITY
Definition
fpdf_ext.h:26
FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM
#define FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM
Definition
fpdf_ext.h:32
PAGEMODE_UNKNOWN
#define PAGEMODE_UNKNOWN
Definition
fpdf_ext.h:92
FSDK_SetLocaltimeFunction
FPDF_EXPORT void FPDF_CALLCONV FSDK_SetLocaltimeFunction(struct tm *(*func)(const time_t *))
Definition
fpdf_ext.cpp:80
PAGEMODE_USENONE
#define PAGEMODE_USENONE
Definition
fpdf_ext.h:94
FSDK_SetUnSpObjProcessHandler
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FSDK_SetUnSpObjProcessHandler(UNSUPPORT_INFO *unsp_info)
Definition
fpdf_ext.cpp:67
FPDF_UNSP_DOC_ATTACHMENT
#define FPDF_UNSP_DOC_ATTACHMENT
Definition
fpdf_ext.h:24
PAGEMODE_FULLSCREEN
#define PAGEMODE_FULLSCREEN
Definition
fpdf_ext.h:100
FPDF_UNSP_ANNOT_SIG
#define FPDF_UNSP_ANNOT_SIG
Definition
fpdf_ext.h:48
FPDF_UNSP_ANNOT_SOUND
#define FPDF_UNSP_ANNOT_SOUND
Definition
fpdf_ext.h:40
FPDF_UNSP_DOC_SHAREDFORM_EMAIL
#define FPDF_UNSP_DOC_SHAREDFORM_EMAIL
Definition
fpdf_ext.h:34
PAGEMODE_USEOUTLINES
#define PAGEMODE_USEOUTLINES
Definition
fpdf_ext.h:96
PAGEMODE_USETHUMBS
#define PAGEMODE_USETHUMBS
Definition
fpdf_ext.h:98
FPDF_UNSP_DOC_XFAFORM
#define FPDF_UNSP_DOC_XFAFORM
Definition
fpdf_ext.h:20
FPDF_UNSP_DOC_SHAREDFORM_ACROBAT
#define FPDF_UNSP_DOC_SHAREDFORM_ACROBAT
Definition
fpdf_ext.h:30
FPDF_UNSP_ANNOT_3DANNOT
#define FPDF_UNSP_ANNOT_3DANNOT
Definition
fpdf_ext.h:36
FPDF_UNSP_ANNOT_MOVIE
#define FPDF_UNSP_ANNOT_MOVIE
Definition
fpdf_ext.h:38
FSDK_SetTimeFunction
FPDF_EXPORT void FPDF_CALLCONV FSDK_SetTimeFunction(time_t(*func)())
Definition
fpdf_ext.cpp:75
FPDF_UNSP_ANNOT_SCREEN_MEDIA
#define FPDF_UNSP_ANNOT_SCREEN_MEDIA
Definition
fpdf_ext.h:42
FPDF_UNSP_DOC_SHAREDREVIEW
#define FPDF_UNSP_DOC_SHAREDREVIEW
Definition
fpdf_ext.h:28
FPDF_CALLCONV
#define FPDF_CALLCONV
Definition
fpdfview.h:229
FPDF_EXPORT
#define FPDF_EXPORT
Definition
fpdfview.h:223
FXSYS_SetTimeFunction
void FXSYS_SetTimeFunction(time_t(*func)())
Definition
fx_extension.cpp:101
FXSYS_SetLocaltimeFunction
void FXSYS_SetLocaltimeFunction(struct tm *(*func)(const time_t *))
Definition
fx_extension.cpp:105
_UNSUPPORT_INFO::version
int version
Definition
fpdf_ext.h:53
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fpdfsdk
fpdf_ext.cpp
Generated on
for Qt by
1.18.0