1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 16:57:16 +01:00
SqMod/vendor/POCO/PDF/include/Poco/PDF/hpdf_doc.h
Sandu Liviu Catalin 4a6bfc086c Major plugin refactor and cleanup.
Switched to POCO library for unified platform/library interface.
Deprecated the external module API. It was creating more problems than solving.
Removed most built-in libraries in favor of system libraries for easier maintenance.
Cleaned and secured code with help from static analyzers.
2021-01-30 08:51:39 +02:00

163 lines
3.5 KiB
C

/*
* << Haru Free PDF Library >> -- hpdf_doc.h
*
* URL: http://libharu.org
*
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
* Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
*
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
* It is provided "as is" without express or implied warranty.
*
*/
#ifndef _HPDF_DOC_H
#define _HPDF_DOC_H
#define HPDF_SIG_BYTES 0x41504446L
#include "hpdf_catalog.h"
#include "hpdf_image.h"
#include "hpdf_pages.h"
#include "hpdf_outline.h"
#include "hpdf_ext_gstate.h"
#ifdef __cplusplus
extern "C" {
#endif
#define HPDF_VER_DEFAULT HPDF_VER_12
typedef struct _HPDF_Doc_Rec {
HPDF_UINT32 sig_bytes;
HPDF_PDFVer pdf_version;
HPDF_MMgr mmgr;
HPDF_Catalog catalog;
HPDF_Outline outlines;
HPDF_Xref xref;
HPDF_Pages root_pages;
HPDF_Pages cur_pages;
HPDF_Page cur_page;
HPDF_List page_list;
HPDF_Error_Rec error;
HPDF_Dict info;
HPDF_Dict trailer;
HPDF_List font_mgr;
HPDF_BYTE ttfont_tag[6];
/* list for loaded fontdefs */
HPDF_List fontdef_list;
/* list for loaded encodings */
HPDF_List encoder_list;
HPDF_Encoder cur_encoder;
/* default compression mode */
HPDF_BOOL compression_mode;
HPDF_BOOL encrypt_on;
HPDF_EncryptDict encrypt_dict;
HPDF_Encoder def_encoder;
HPDF_UINT page_per_pages;
HPDF_UINT cur_page_num;
/* buffer for saving into memory stream */
HPDF_Stream stream;
} HPDF_Doc_Rec;
typedef struct _HPDF_Doc_Rec *HPDF_Doc;
HPDF_Encoder
HPDF_Doc_FindEncoder (HPDF_Doc pdf,
const char *encoding_name);
HPDF_FontDef
HPDF_Doc_FindFontDef (HPDF_Doc pdf,
const char *font_name);
HPDF_Font
HPDF_Doc_FindFont (HPDF_Doc pdf,
const char *font_name,
const char *encoding_name);
HPDF_BOOL
HPDF_Doc_Validate (HPDF_Doc pdf);
/*----- page handling -------------------------------------------------------*/
HPDF_Pages
HPDF_Doc_GetCurrentPages (HPDF_Doc pdf);
HPDF_Pages
HPDF_Doc_AddPagesTo (HPDF_Doc pdf,
HPDF_Pages parent);
HPDF_STATUS
HPDF_Doc_SetCurrentPages (HPDF_Doc pdf,
HPDF_Pages pages);
HPDF_STATUS
HPDF_Doc_SetCurrentPage (HPDF_Doc pdf,
HPDF_Page page);
/*----- font handling -------------------------------------------------------*/
HPDF_FontDef
HPDF_GetFontDef (HPDF_Doc pdf,
const char *font_name);
HPDF_STATUS
HPDF_Doc_RegisterFontDef (HPDF_Doc pdf,
HPDF_FontDef fontdef);
/*----- encoding handling ---------------------------------------------------*/
HPDF_STATUS
HPDF_Doc_RegisterEncoder (HPDF_Doc pdf,
HPDF_Encoder encoder);
/*----- encryptio------------------------------------------------------------*/
HPDF_STATUS
HPDF_Doc_SetEncryptOn (HPDF_Doc pdf);
HPDF_STATUS
HPDF_Doc_SetEncryptOff (HPDF_Doc pdf);
HPDF_STATUS
HPDF_Doc_PrepareEncryption (HPDF_Doc pdf);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _HPDF_DOC_H */