hpdf 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History +57 -0
- data/License +25 -0
- data/README +165 -0
- data/examples/arc_demo.rb +82 -0
- data/examples/demo.rb +92 -0
- data/examples/encryption.rb +41 -0
- data/examples/ext_gstater_demo.rb +171 -0
- data/examples/font_demo.rb +67 -0
- data/examples/jpfont_demo.rb +122 -0
- data/examples/line_demo.rb +301 -0
- data/examples/slide_show_demo.rb +139 -0
- data/examples/text_demo2.rb +189 -0
- data/examples/ttfont_demo.rb +106 -0
- data/ext/extconf.rb +6 -0
- data/ext/hpdf.c +3779 -0
- data/ext/hpdf_annotation.c +415 -0
- data/ext/hpdf_array.c +344 -0
- data/ext/hpdf_binary.c +117 -0
- data/ext/hpdf_boolean.c +47 -0
- data/ext/hpdf_catalog.c +354 -0
- data/ext/hpdf_destination.c +339 -0
- data/ext/hpdf_dict.c +488 -0
- data/ext/hpdf_doc.c +2020 -0
- data/ext/hpdf_doc_png.c +137 -0
- data/ext/hpdf_encoder.c +2991 -0
- data/ext/hpdf_encoder_cns.c +36359 -0
- data/ext/hpdf_encoder_cnt.c +15307 -0
- data/ext/hpdf_encoder_jp.c +16125 -0
- data/ext/hpdf_encoder_kr.c +27978 -0
- data/ext/hpdf_encrypt.c +632 -0
- data/ext/hpdf_encryptdict.c +240 -0
- data/ext/hpdf_error.c +114 -0
- data/ext/hpdf_ext_gstate.c +150 -0
- data/ext/hpdf_font.c +229 -0
- data/ext/hpdf_font_cid.c +1030 -0
- data/ext/hpdf_font_tt.c +406 -0
- data/ext/hpdf_font_type1.c +391 -0
- data/ext/hpdf_fontdef.c +56 -0
- data/ext/hpdf_fontdef_base14.c +4506 -0
- data/ext/hpdf_fontdef_cid.c +194 -0
- data/ext/hpdf_fontdef_cns.c +471 -0
- data/ext/hpdf_fontdef_cnt.c +250 -0
- data/ext/hpdf_fontdef_jp.c +1904 -0
- data/ext/hpdf_fontdef_kr.c +1572 -0
- data/ext/hpdf_fontdef_tt.c +2230 -0
- data/ext/hpdf_fontdef_type1.c +524 -0
- data/ext/hpdf_gstate.c +119 -0
- data/ext/hpdf_image.c +568 -0
- data/ext/hpdf_image_png.c +424 -0
- data/ext/hpdf_info.c +164 -0
- data/ext/hpdf_list.c +333 -0
- data/ext/hpdf_mmgr.c +243 -0
- data/ext/hpdf_name.c +71 -0
- data/ext/hpdf_null.c +31 -0
- data/ext/hpdf_number.c +49 -0
- data/ext/hpdf_objects.c +172 -0
- data/ext/hpdf_outline.c +329 -0
- data/ext/hpdf_page_label.c +74 -0
- data/ext/hpdf_page_operator.c +2764 -0
- data/ext/hpdf_pages.c +1508 -0
- data/ext/hpdf_real.c +61 -0
- data/ext/hpdf_streams.c +1435 -0
- data/ext/hpdf_string.c +189 -0
- data/ext/hpdf_utils.c +438 -0
- data/ext/hpdf_xref.c +348 -0
- data/ext/include/hpdf.h +1227 -0
- data/ext/include/hpdf_annotation.h +74 -0
- data/ext/include/hpdf_catalog.h +81 -0
- data/ext/include/hpdf_conf.h +76 -0
- data/ext/include/hpdf_consts.h +549 -0
- data/ext/include/hpdf_destination.h +41 -0
- data/ext/include/hpdf_doc.h +159 -0
- data/ext/include/hpdf_encoder.h +311 -0
- data/ext/include/hpdf_encrypt.h +156 -0
- data/ext/include/hpdf_encryptdict.h +66 -0
- data/ext/include/hpdf_error.h +201 -0
- data/ext/include/hpdf_ext_gstate.h +38 -0
- data/ext/include/hpdf_font.h +112 -0
- data/ext/include/hpdf_fontdef.h +403 -0
- data/ext/include/hpdf_gstate.h +80 -0
- data/ext/include/hpdf_image.h +72 -0
- data/ext/include/hpdf_info.h +48 -0
- data/ext/include/hpdf_list.h +85 -0
- data/ext/include/hpdf_mmgr.h +82 -0
- data/ext/include/hpdf_objects.h +587 -0
- data/ext/include/hpdf_outline.h +74 -0
- data/ext/include/hpdf_page_label.h +35 -0
- data/ext/include/hpdf_pages.h +128 -0
- data/ext/include/hpdf_streams.h +276 -0
- data/ext/include/hpdf_types.h +488 -0
- data/ext/include/hpdf_utils.h +161 -0
- data/tests/arc_demo.rb +82 -0
- data/tests/demo.rb +91 -0
- data/tests/encryption.rb +41 -0
- data/tests/ext_gstater_demo.rb +171 -0
- data/tests/font_demo.rb +67 -0
- data/tests/line_demo.rb +301 -0
- data/tests/slide_show_demo.rb +139 -0
- data/tests/test_all_examples.rb +31 -0
- data/tests/text_demo2.rb +189 -0
- metadata +147 -0
@@ -0,0 +1,156 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.0 >> -- hpdf_encrypt.h
|
3
|
+
*
|
4
|
+
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
|
5
|
+
*
|
6
|
+
* Permission to use, copy, modify, distribute and sell this software
|
7
|
+
* and its documentation for any purpose is hereby granted without fee,
|
8
|
+
* provided that the above copyright notice appear in all copies and
|
9
|
+
* that both that copyright notice and this permission notice appear
|
10
|
+
* in supporting documentation.
|
11
|
+
* It is provided "as is" without express or implied warranty.
|
12
|
+
*
|
13
|
+
*------------------------------------------------------------------------------
|
14
|
+
*
|
15
|
+
* The code implements MD5 message-digest algorithm is based on the code
|
16
|
+
* written by Colin Plumb.
|
17
|
+
* The copyright of it is as follows.
|
18
|
+
*
|
19
|
+
* This code implements the MD5 message-digest algorithm.
|
20
|
+
* The algorithm is due to Ron Rivest. This code was
|
21
|
+
* written by Colin Plumb in 1993, no copyright is claimed.
|
22
|
+
* This code is in the public domain; do with it what you wish.
|
23
|
+
*
|
24
|
+
* Equivalent code is available from RSA Data Security, Inc.
|
25
|
+
* This code has been tested against that, and is equivalent,
|
26
|
+
* except that you don't need to include two pages of legalese
|
27
|
+
* with every copy.
|
28
|
+
*
|
29
|
+
* To compute the message digest of a chunk of bytes, declare an
|
30
|
+
* MD5Context structure, pass it to MD5Init, call MD5Update as
|
31
|
+
* needed on buffers full of bytes, and then call MD5Final, which
|
32
|
+
* will fill a supplied 16-byte array with the digest.
|
33
|
+
*
|
34
|
+
*---------------------------------------------------------------------------*/
|
35
|
+
|
36
|
+
#ifndef HPDF_ENCRYPT_H
|
37
|
+
#define HPDF_ENCRYPT_H
|
38
|
+
|
39
|
+
#include "hpdf_mmgr.h"
|
40
|
+
|
41
|
+
#ifdef __cplusplus
|
42
|
+
extern "C" {
|
43
|
+
#endif
|
44
|
+
|
45
|
+
/*----------------------------------------------------------------------------*/
|
46
|
+
/*----- encrypt-dict ---------------------------------------------------------*/
|
47
|
+
|
48
|
+
#define HPDF_ID_LEN 16
|
49
|
+
#define HPDF_PASSWD_LEN 32
|
50
|
+
#define HPDF_ENCRYPT_KEY_MAX 16
|
51
|
+
#define HPDF_MD5_KEY_LEN 16
|
52
|
+
#define HPDF_PERMISSION_PAD 0xFFFFFFC0
|
53
|
+
#define HPDF_ARC4_BUF_SIZE 256
|
54
|
+
|
55
|
+
|
56
|
+
typedef struct HPDF_MD5Context
|
57
|
+
{
|
58
|
+
HPDF_UINT32 buf[4];
|
59
|
+
HPDF_UINT32 bits[2];
|
60
|
+
HPDF_BYTE in[64];
|
61
|
+
} HPDF_MD5_CTX;
|
62
|
+
|
63
|
+
|
64
|
+
typedef struct _HPDF_ARC4_Ctx_Rec {
|
65
|
+
HPDF_BYTE idx1;
|
66
|
+
HPDF_BYTE idx2;
|
67
|
+
HPDF_BYTE state[HPDF_ARC4_BUF_SIZE];
|
68
|
+
} HPDF_ARC4_Ctx_Rec;
|
69
|
+
|
70
|
+
|
71
|
+
typedef struct _HPDF_Encrypt_Rec *HPDF_Encrypt;
|
72
|
+
|
73
|
+
typedef struct _HPDF_Encrypt_Rec {
|
74
|
+
HPDF_EncryptMode mode;
|
75
|
+
|
76
|
+
/* key_len must be a multiple of 8, and between 40 to 128 */
|
77
|
+
HPDF_UINT key_len;
|
78
|
+
|
79
|
+
/* owner-password (not encrypted) */
|
80
|
+
HPDF_BYTE owner_passwd[HPDF_PASSWD_LEN];
|
81
|
+
|
82
|
+
/* user-password (not encrypted) */
|
83
|
+
HPDF_BYTE user_passwd[HPDF_PASSWD_LEN];
|
84
|
+
|
85
|
+
/* owner-password (encrypted) */
|
86
|
+
HPDF_BYTE owner_key[HPDF_PASSWD_LEN];
|
87
|
+
|
88
|
+
/* user-password (encrypted) */
|
89
|
+
HPDF_BYTE user_key[HPDF_PASSWD_LEN];
|
90
|
+
|
91
|
+
HPDF_INT permission;
|
92
|
+
HPDF_BYTE encrypt_id[HPDF_ID_LEN];
|
93
|
+
HPDF_BYTE encryption_key[HPDF_MD5_KEY_LEN + 5];
|
94
|
+
HPDF_BYTE md5_encryption_key[HPDF_MD5_KEY_LEN];
|
95
|
+
HPDF_ARC4_Ctx_Rec arc4ctx;
|
96
|
+
} HPDF_Encrypt_Rec;
|
97
|
+
|
98
|
+
|
99
|
+
void
|
100
|
+
HPDF_MD5Init (struct HPDF_MD5Context *ctx);
|
101
|
+
|
102
|
+
|
103
|
+
void
|
104
|
+
HPDF_MD5Update (struct HPDF_MD5Context *ctx,
|
105
|
+
const HPDF_BYTE *buf,
|
106
|
+
HPDF_UINT32 len);
|
107
|
+
|
108
|
+
|
109
|
+
void
|
110
|
+
HPDF_MD5Final (HPDF_BYTE digest[16],
|
111
|
+
struct HPDF_MD5Context *ctx);
|
112
|
+
|
113
|
+
void
|
114
|
+
HPDF_PadOrTrancatePasswd (const char *pwd,
|
115
|
+
HPDF_BYTE *new_pwd);
|
116
|
+
|
117
|
+
|
118
|
+
void
|
119
|
+
HPDF_Encrypt_Init (HPDF_Encrypt attr);
|
120
|
+
|
121
|
+
|
122
|
+
void
|
123
|
+
HPDF_Encrypt_CreateUserKey (HPDF_Encrypt attr);
|
124
|
+
|
125
|
+
|
126
|
+
void
|
127
|
+
HPDF_Encrypt_CreateOwnerKey (HPDF_Encrypt attr);
|
128
|
+
|
129
|
+
|
130
|
+
void
|
131
|
+
HPDF_Encrypt_CreateEncryptionKey (HPDF_Encrypt attr);
|
132
|
+
|
133
|
+
|
134
|
+
void
|
135
|
+
HPDF_Encrypt_InitKey (HPDF_Encrypt attr,
|
136
|
+
HPDF_UINT32 object_id,
|
137
|
+
HPDF_UINT16 gen_no);
|
138
|
+
|
139
|
+
|
140
|
+
void
|
141
|
+
HPDF_Encrypt_Reset (HPDF_Encrypt attr);
|
142
|
+
|
143
|
+
|
144
|
+
void
|
145
|
+
HPDF_Encrypt_CryptBuf (HPDF_Encrypt attr,
|
146
|
+
const HPDF_BYTE *src,
|
147
|
+
HPDF_BYTE *dst,
|
148
|
+
HPDF_UINT len);
|
149
|
+
|
150
|
+
#ifdef __cplusplus
|
151
|
+
}
|
152
|
+
#endif /* __cplusplus */
|
153
|
+
|
154
|
+
#endif /* _HPDF_ENCRYPT_H */
|
155
|
+
|
156
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.0 >> -- hpdf_encryptdict.h
|
3
|
+
*
|
4
|
+
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
|
5
|
+
*
|
6
|
+
* Permission to use, copy, modify, distribute and sell this software
|
7
|
+
* and its documentation for any purpose is hereby granted without fee,
|
8
|
+
* provided that the above copyright notice appear in all copies and
|
9
|
+
* that both that copyright notice and this permission notice appear
|
10
|
+
* in supporting documentation.
|
11
|
+
* It is provided "as is" without express or implied warranty.
|
12
|
+
*
|
13
|
+
*/
|
14
|
+
|
15
|
+
#ifndef _HPDF_ENCRYPTDICT_H
|
16
|
+
#define _HPDF_ENCRYPTDICT_H
|
17
|
+
|
18
|
+
#include "hpdf_objects.h"
|
19
|
+
|
20
|
+
#ifdef __cplusplus
|
21
|
+
extern "C" {
|
22
|
+
#endif
|
23
|
+
|
24
|
+
/*---------------------------------------------------------------------------*/
|
25
|
+
/*------ HPDF_EncryptDict ---------------------------------------------------*/
|
26
|
+
|
27
|
+
HPDF_EncryptDict
|
28
|
+
HPDF_EncryptDict_New (HPDF_MMgr mmgr,
|
29
|
+
HPDF_Xref xref);
|
30
|
+
|
31
|
+
|
32
|
+
void
|
33
|
+
HPDF_EncryptDict_CreateID (HPDF_EncryptDict dict,
|
34
|
+
HPDF_Dict info,
|
35
|
+
HPDF_Xref xref);
|
36
|
+
|
37
|
+
|
38
|
+
void
|
39
|
+
HPDF_EncryptDict_OnFree (HPDF_Dict obj);
|
40
|
+
|
41
|
+
|
42
|
+
HPDF_STATUS
|
43
|
+
HPDF_EncryptDict_SetPassword (HPDF_EncryptDict dict,
|
44
|
+
const char *owner_passwd,
|
45
|
+
const char *user_passwd);
|
46
|
+
|
47
|
+
|
48
|
+
HPDF_BOOL
|
49
|
+
HPDF_EncryptDict_Validate (HPDF_EncryptDict dict);
|
50
|
+
|
51
|
+
|
52
|
+
HPDF_STATUS
|
53
|
+
HPDF_EncryptDict_Prepare (HPDF_EncryptDict dict,
|
54
|
+
HPDF_Dict info,
|
55
|
+
HPDF_Xref xref);
|
56
|
+
|
57
|
+
|
58
|
+
HPDF_Encrypt
|
59
|
+
HPDF_EncryptDict_GetAttr (HPDF_EncryptDict dict);
|
60
|
+
|
61
|
+
#ifdef __cplusplus
|
62
|
+
}
|
63
|
+
#endif /* __cplusplus */
|
64
|
+
|
65
|
+
#endif /* _HPDF_ENCRYPTDICT_H */
|
66
|
+
|
@@ -0,0 +1,201 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.3 >> -- hpdf_error.h
|
3
|
+
*
|
4
|
+
* URL http://libharu.sourceforge.net/
|
5
|
+
*
|
6
|
+
* Copyright (c) 1999-2006 Takeshi Kanno
|
7
|
+
*
|
8
|
+
* Permission to use, copy, modify, distribute and sell this software
|
9
|
+
* and its documentation for any purpose is hereby granted without fee,
|
10
|
+
* provided that the above copyright notice appear in all copies and
|
11
|
+
* that both that copyright notice and this permission notice appear
|
12
|
+
* in supporting documentation.
|
13
|
+
* It is provided "as is" without express or implied warranty.
|
14
|
+
*
|
15
|
+
*/
|
16
|
+
|
17
|
+
#ifndef _HPDF_ERROR_H
|
18
|
+
#define _HPDF_ERROR_H
|
19
|
+
|
20
|
+
#include "hpdf_types.h"
|
21
|
+
|
22
|
+
#ifdef __cplusplus
|
23
|
+
extern "C" {
|
24
|
+
#endif
|
25
|
+
|
26
|
+
/* error-code */
|
27
|
+
#define HPDF_ARRAY_COUNT_ERR 0x1001
|
28
|
+
#define HPDF_ARRAY_ITEM_NOT_FOUND 0x1002
|
29
|
+
#define HPDF_ARRAY_ITEM_UNEXPECTED_TYPE 0x1003
|
30
|
+
#define HPDF_BINARY_LENGTH_ERR 0x1004
|
31
|
+
#define HPDF_CANNOT_GET_PALLET 0x1005
|
32
|
+
#define HPDF_DICT_COUNT_ERR 0x1007
|
33
|
+
#define HPDF_DICT_ITEM_NOT_FOUND 0x1008
|
34
|
+
#define HPDF_DICT_ITEM_UNEXPECTED_TYPE 0x1009
|
35
|
+
#define HPDF_DICT_STREAM_LENGTH_NOT_FOUND 0x100A
|
36
|
+
#define HPDF_DOC_ENCRYPTDICT_NOT_FOUND 0x100B
|
37
|
+
#define HPDF_DOC_INVALID_OBJECT 0x100C
|
38
|
+
/* 0x100D */
|
39
|
+
#define HPDF_DUPLICATE_REGISTRATION 0x100E
|
40
|
+
#define HPDF_EXCEED_JWW_CODE_NUM_LIMIT 0x100F
|
41
|
+
/* 0x1010 */
|
42
|
+
#define HPDF_ENCRYPT_INVALID_PASSWORD 0x1011
|
43
|
+
/* 0x1012 */
|
44
|
+
#define HPDF_ERR_UNKNOWN_CLASS 0x1013
|
45
|
+
#define HPDF_EXCEED_GSTATE_LIMIT 0x1014
|
46
|
+
#define HPDF_FAILD_TO_ALLOC_MEM 0x1015
|
47
|
+
#define HPDF_FILE_IO_ERROR 0x1016
|
48
|
+
#define HPDF_FILE_OPEN_ERROR 0x1017
|
49
|
+
/* 0x1018 */
|
50
|
+
#define HPDF_FONT_EXISTS 0x1019
|
51
|
+
#define HPDF_FONT_INVALID_WIDTHS_TABLE 0x101A
|
52
|
+
#define HPDF_INVALID_AFM_HEADER 0x101B
|
53
|
+
#define HPDF_INVALID_ANNOTATION 0x101C
|
54
|
+
/* 0x101D */
|
55
|
+
#define HPDF_INVALID_BIT_PER_COMPONENT 0x101E
|
56
|
+
#define HPDF_INVALID_CHAR_MATRICS_DATA 0x101F
|
57
|
+
#define HPDF_INVALID_COLOR_SPACE 0x1020
|
58
|
+
#define HPDF_INVALID_COMPRESSION_MODE 0x1021
|
59
|
+
#define HPDF_INVALID_DATE_TIME 0x1022
|
60
|
+
#define HPDF_INVALID_DESTINATION 0x1023
|
61
|
+
/* 0x1024 */
|
62
|
+
#define HPDF_INVALID_DOCUMENT 0x1025
|
63
|
+
#define HPDF_INVALID_DOCUMENT_STATE 0x1026
|
64
|
+
#define HPDF_INVALID_ENCODER 0x1027
|
65
|
+
#define HPDF_INVALID_ENCODER_TYPE 0x1028
|
66
|
+
/* 0x1029 */
|
67
|
+
/* 0x102A */
|
68
|
+
#define HPDF_INVALID_ENCODING_NAME 0x102B
|
69
|
+
#define HPDF_INVALID_ENCRYPT_KEY_LEN 0x102C
|
70
|
+
#define HPDF_INVALID_FONTDEF_DATA 0x102D
|
71
|
+
#define HPDF_INVALID_FONTDEF_TYPE 0x102E
|
72
|
+
#define HPDF_INVALID_FONT_NAME 0x102F
|
73
|
+
#define HPDF_INVALID_IMAGE 0x1030
|
74
|
+
#define HPDF_INVALID_JPEG_DATA 0x1031
|
75
|
+
#define HPDF_INVALID_N_DATA 0x1032
|
76
|
+
#define HPDF_INVALID_OBJECT 0x1033
|
77
|
+
#define HPDF_INVALID_OBJ_ID 0x1034
|
78
|
+
#define HPDF_INVALID_OPERATION 0x1035
|
79
|
+
#define HPDF_INVALID_OUTLINE 0x1036
|
80
|
+
#define HPDF_INVALID_PAGE 0x1037
|
81
|
+
#define HPDF_INVALID_PAGES 0x1038
|
82
|
+
#define HPDF_INVALID_PARAMETER 0x1039
|
83
|
+
/* 0x103A */
|
84
|
+
#define HPDF_INVALID_PNG_IMAGE 0x103B
|
85
|
+
#define HPDF_INVALID_STREAM 0x103C
|
86
|
+
#define HPDF_MISSING_FILE_NAME_ENTRY 0x103D
|
87
|
+
/* 0x103E */
|
88
|
+
#define HPDF_INVALID_TTC_FILE 0x103F
|
89
|
+
#define HPDF_INVALID_TTC_INDEX 0x1040
|
90
|
+
#define HPDF_INVALID_WX_DATA 0x1041
|
91
|
+
#define HPDF_ITEM_NOT_FOUND 0x1042
|
92
|
+
#define HPDF_LIBPNG_ERROR 0x1043
|
93
|
+
#define HPDF_NAME_INVALID_VALUE 0x1044
|
94
|
+
#define HPDF_NAME_OUT_OF_RANGE 0x1045
|
95
|
+
/* 0x1046 */
|
96
|
+
/* 0x1047 */
|
97
|
+
#define HPDF_PAGE_INVALID_PARAM_COUNT 0x1048
|
98
|
+
#define HPDF_PAGES_MISSING_KIDS_ENTRY 0x1049
|
99
|
+
#define HPDF_PAGE_CANNOT_FIND_OBJECT 0x104A
|
100
|
+
#define HPDF_PAGE_CANNOT_GET_ROOT_PAGES 0x104B
|
101
|
+
#define HPDF_PAGE_CANNOT_RESTORE_GSTATE 0x104C
|
102
|
+
#define HPDF_PAGE_CANNOT_SET_PARENT 0x104D
|
103
|
+
#define HPDF_PAGE_FONT_NOT_FOUND 0x104E
|
104
|
+
#define HPDF_PAGE_INVALID_FONT 0x104F
|
105
|
+
#define HPDF_PAGE_INVALID_FONT_SIZE 0x1050
|
106
|
+
#define HPDF_PAGE_INVALID_GMODE 0x1051
|
107
|
+
#define HPDF_PAGE_INVALID_INDEX 0x1052
|
108
|
+
#define HPDF_PAGE_INVALID_ROTATE_VALUE 0x1053
|
109
|
+
#define HPDF_PAGE_INVALID_SIZE 0x1054
|
110
|
+
#define HPDF_PAGE_INVALID_XOBJECT 0x1055
|
111
|
+
#define HPDF_PAGE_OUT_OF_RANGE 0x1056
|
112
|
+
#define HPDF_REAL_OUT_OF_RANGE 0x1057
|
113
|
+
#define HPDF_STREAM_EOF 0x1058
|
114
|
+
#define HPDF_STREAM_READLN_CONTINUE 0x1059
|
115
|
+
/* 0x105A */
|
116
|
+
#define HPDF_STRING_OUT_OF_RANGE 0x105B
|
117
|
+
#define HPDF_THIS_FUNC_WAS_SKIPPED 0x105C
|
118
|
+
#define HPDF_TTF_CANNOT_EMBEDDING_FONT 0x105D
|
119
|
+
#define HPDF_TTF_INVALID_CMAP 0x105E
|
120
|
+
#define HPDF_TTF_INVALID_FOMAT 0x105F
|
121
|
+
#define HPDF_TTF_MISSING_TABLE 0x1060
|
122
|
+
#define HPDF_UNSUPPORTED_FONT_TYPE 0x1061
|
123
|
+
#define HPDF_UNSUPPORTED_FUNC 0x1062
|
124
|
+
#define HPDF_UNSUPPORTED_JPEG_FORMAT 0x1063
|
125
|
+
#define HPDF_UNSUPPORTED_TYPE1_FONT 0x1064
|
126
|
+
#define HPDF_XREF_COUNT_ERR 0x1065
|
127
|
+
#define HPDF_ZLIB_ERROR 0x1066
|
128
|
+
#define HPDF_INVALID_PAGE_INDEX 0x1067
|
129
|
+
#define HPDF_INVALID_URI 0x1068
|
130
|
+
#define HPDF_PAGE_LAYOUT_OUT_OF_RANGE 0x1069
|
131
|
+
#define HPDF_PAGE_MODE_OUT_OF_RANGE 0x1070
|
132
|
+
#define HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE 0x1071
|
133
|
+
#define HPDF_ANNOT_INVALID_ICON 0x1072
|
134
|
+
#define HPDF_ANNOT_INVALID_BORDER_STYLE 0x1073
|
135
|
+
#define HPDF_PAGE_INVALID_DIRECTION 0x1074
|
136
|
+
#define HPDF_INVALID_FONT 0x1075
|
137
|
+
#define HPDF_PAGE_INSUFFICIENT_SPACE 0x1076
|
138
|
+
#define HPDF_PAGE_INVALID_DISPLAY_TIME 0x1077
|
139
|
+
#define HPDF_PAGE_INVALID_TRANSITION_TIME 0x1078
|
140
|
+
#define HPDF_INVALID_PAGE_SLIDESHOW_TYPE 0x1079
|
141
|
+
#define HPDF_EXT_GSTATE_OUT_OF_RANGE 0x1080
|
142
|
+
#define HPDF_INVALID_EXT_GSTATE 0x1081
|
143
|
+
#define HPDF_EXT_GSTATE_READ_ONLY 0x1082
|
144
|
+
|
145
|
+
/*---------------------------------------------------------------------------*/
|
146
|
+
/*----- HPDF_Error ----------------------------------------------------------*/
|
147
|
+
|
148
|
+
typedef struct _HPDF_Error_Rec *HPDF_Error;
|
149
|
+
|
150
|
+
typedef struct _HPDF_Error_Rec {
|
151
|
+
HPDF_STATUS error_no;
|
152
|
+
HPDF_STATUS detail_no;
|
153
|
+
HPDF_Error_Handler error_fn;
|
154
|
+
void *user_data;
|
155
|
+
} HPDF_Error_Rec;
|
156
|
+
|
157
|
+
|
158
|
+
/* HPDF_Error_init
|
159
|
+
*
|
160
|
+
* if error_fn is NULL, the default-handlers are set as error-handler.
|
161
|
+
* user_data is used to identify the object which threw an error.
|
162
|
+
*
|
163
|
+
*/
|
164
|
+
void
|
165
|
+
HPDF_Error_Init (HPDF_Error error,
|
166
|
+
void *user_data);
|
167
|
+
|
168
|
+
|
169
|
+
void
|
170
|
+
HPDF_Error_Reset (HPDF_Error error);
|
171
|
+
|
172
|
+
|
173
|
+
HPDF_STATUS
|
174
|
+
HPDF_Error_GetCode (HPDF_Error error);
|
175
|
+
|
176
|
+
|
177
|
+
HPDF_STATUS
|
178
|
+
HPDF_Error_GetDetailCode (HPDF_Error error);
|
179
|
+
|
180
|
+
|
181
|
+
HPDF_STATUS
|
182
|
+
HPDF_SetError (HPDF_Error error,
|
183
|
+
HPDF_STATUS error_no,
|
184
|
+
HPDF_STATUS detail_no);
|
185
|
+
|
186
|
+
|
187
|
+
HPDF_STATUS
|
188
|
+
HPDF_CheckError (HPDF_Error error);
|
189
|
+
|
190
|
+
|
191
|
+
HPDF_STATUS
|
192
|
+
HPDF_RaiseError (HPDF_Error error,
|
193
|
+
HPDF_STATUS error_no,
|
194
|
+
HPDF_STATUS detail_no);
|
195
|
+
|
196
|
+
#ifdef __cplusplus
|
197
|
+
}
|
198
|
+
#endif /* __cplusplus */
|
199
|
+
|
200
|
+
#endif /* _HPDF_ERROR_H */
|
201
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/*
|
2
|
+
* << Haru Free PDF Library 2.0.0 >> -- hpdf_ext_gstate.h
|
3
|
+
*
|
4
|
+
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
|
5
|
+
*
|
6
|
+
* Permission to use, copy, modify, distribute and sell this software
|
7
|
+
* and its documentation for any purpose is hereby granted without fee,
|
8
|
+
* provided that the above copyright notice appear in all copies and
|
9
|
+
* that both that copyright notice and this permission notice appear
|
10
|
+
* in supporting documentation.
|
11
|
+
* It is provided "as is" without express or implied warranty.
|
12
|
+
*
|
13
|
+
*/
|
14
|
+
|
15
|
+
#ifndef _HPDF_EXT_GSTATE_H
|
16
|
+
#define _HPDF_EXT_GSTATE_H
|
17
|
+
|
18
|
+
#include "hpdf_objects.h"
|
19
|
+
|
20
|
+
#ifdef __cplusplus
|
21
|
+
extern "C" {
|
22
|
+
#endif
|
23
|
+
|
24
|
+
HPDF_Dict
|
25
|
+
HPDF_ExtGState_New (HPDF_MMgr mmgr,
|
26
|
+
HPDF_Xref xref);
|
27
|
+
|
28
|
+
|
29
|
+
HPDF_BOOL
|
30
|
+
HPDF_ExtGState_Validate (HPDF_ExtGState ext_gstate);
|
31
|
+
|
32
|
+
|
33
|
+
#ifdef __cplusplus
|
34
|
+
}
|
35
|
+
#endif /* __cplusplus */
|
36
|
+
|
37
|
+
#endif /* _HPDF_EXT_GSTATE_H */
|
38
|
+
|