hpdf.h 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559
  1. /*
  2. * << Haru Free PDF Library 2.0.8 >> -- hpdf.h
  3. *
  4. * URL http://libharu.org/
  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. #ifndef _HPDF_H
  17. #define _HPDF_H
  18. #include "hpdf_config.h"
  19. #include "hpdf_version.h"
  20. #define HPDF_UNUSED(a) ((void)(a))
  21. #ifdef HPDF_DLL_MAKE
  22. # define HPDF_EXPORT(A) __declspec(dllexport) A __stdcall
  23. #else
  24. # ifdef HPDF_DLL_MAKE_CDECL
  25. # define HPDF_EXPORT(A) __declspec(dllexport) A
  26. # else
  27. # ifdef HPDF_SHARED_MAKE
  28. # define HPDF_EXPORT(A) extern A
  29. # endif /* HPDF_SHARED_MAKE */
  30. # endif /* HPDF_DLL_MAKE_CDECL */
  31. #endif /* HPDF_DLL_MAKE */
  32. #ifdef HPDF_DLL
  33. # define HPDF_SHARED
  34. # define HPDF_EXPORT(A) __declspec(dllimport) A __stdcall
  35. #else
  36. # ifdef HPDF_DLL_CDECL
  37. # define HPDF_SHARED
  38. # define HPDF_EXPORT(A) __declspec(dllimport) A
  39. # endif /* HPDF_DLL_CDECL */
  40. #endif /* HPDF_DLL */
  41. #ifdef HPDF_SHARED
  42. #ifndef HPDF_EXPORT
  43. #define HPDF_EXPORT(A) extern A
  44. #endif /* HPDF_EXPORT */
  45. #include "hpdf_consts.h"
  46. #include "hpdf_types.h"
  47. typedef void *HPDF_HANDLE;
  48. typedef HPDF_HANDLE HPDF_Doc;
  49. typedef HPDF_HANDLE HPDF_Page;
  50. typedef HPDF_HANDLE HPDF_Pages;
  51. typedef HPDF_HANDLE HPDF_Stream;
  52. typedef HPDF_HANDLE HPDF_Image;
  53. typedef HPDF_HANDLE HPDF_Font;
  54. typedef HPDF_HANDLE HPDF_Outline;
  55. typedef HPDF_HANDLE HPDF_Encoder;
  56. typedef HPDF_HANDLE HPDF_3DMeasure;
  57. typedef HPDF_HANDLE HPDF_ExData;
  58. typedef HPDF_HANDLE HPDF_Destination;
  59. typedef HPDF_HANDLE HPDF_XObject;
  60. typedef HPDF_HANDLE HPDF_Annotation;
  61. typedef HPDF_HANDLE HPDF_ExtGState;
  62. typedef HPDF_HANDLE HPDF_FontDef;
  63. typedef HPDF_HANDLE HPDF_U3D;
  64. typedef HPDF_HANDLE HPDF_JavaScript;
  65. typedef HPDF_HANDLE HPDF_Error;
  66. typedef HPDF_HANDLE HPDF_MMgr;
  67. typedef HPDF_HANDLE HPDF_Dict;
  68. typedef HPDF_HANDLE HPDF_EmbeddedFile;
  69. typedef HPDF_HANDLE HPDF_OutputIntent;
  70. typedef HPDF_HANDLE HPDF_Xref;
  71. #else
  72. #ifndef HPDF_EXPORT
  73. #define HPDF_EXPORT(A) A
  74. #endif /* HPDF_EXPORT */
  75. #include "hpdf_consts.h"
  76. #include "hpdf_doc.h"
  77. #include "hpdf_error.h"
  78. #include "hpdf_pdfa.h"
  79. #endif /* HPDF_SHARED */
  80. #ifdef __cplusplus
  81. extern "C" {
  82. #endif
  83. HPDF_EXPORT(const char *)
  84. HPDF_GetVersion (void);
  85. HPDF_EXPORT(HPDF_Doc)
  86. HPDF_NewEx (HPDF_Error_Handler user_error_fn,
  87. HPDF_Alloc_Func user_alloc_fn,
  88. HPDF_Free_Func user_free_fn,
  89. HPDF_UINT mem_pool_buf_size,
  90. void *user_data);
  91. HPDF_EXPORT(HPDF_Doc)
  92. HPDF_New (HPDF_Error_Handler user_error_fn,
  93. void *user_data);
  94. HPDF_EXPORT(HPDF_STATUS)
  95. HPDF_SetErrorHandler (HPDF_Doc pdf,
  96. HPDF_Error_Handler user_error_fn);
  97. HPDF_EXPORT(void)
  98. HPDF_Free (HPDF_Doc pdf);
  99. HPDF_EXPORT(HPDF_STATUS)
  100. HPDF_NewDoc (HPDF_Doc pdf);
  101. HPDF_EXPORT(void)
  102. HPDF_FreeDoc (HPDF_Doc pdf);
  103. HPDF_EXPORT(HPDF_BOOL)
  104. HPDF_HasDoc (HPDF_Doc pdf);
  105. HPDF_EXPORT(void)
  106. HPDF_FreeDocAll (HPDF_Doc pdf);
  107. HPDF_EXPORT(HPDF_STATUS)
  108. HPDF_SaveToStream (HPDF_Doc pdf);
  109. HPDF_EXPORT(HPDF_STATUS)
  110. HPDF_GetContents (HPDF_Doc pdf,
  111. HPDF_BYTE *buf,
  112. HPDF_UINT32 *size);
  113. HPDF_EXPORT(HPDF_UINT32)
  114. HPDF_GetStreamSize (HPDF_Doc pdf);
  115. HPDF_EXPORT(HPDF_STATUS)
  116. HPDF_ReadFromStream (HPDF_Doc pdf,
  117. HPDF_BYTE *buf,
  118. HPDF_UINT32 *size);
  119. HPDF_EXPORT(HPDF_STATUS)
  120. HPDF_ResetStream (HPDF_Doc pdf);
  121. HPDF_EXPORT(HPDF_STATUS)
  122. HPDF_SaveToFile (HPDF_Doc pdf,
  123. const char *file_name);
  124. HPDF_EXPORT(HPDF_STATUS)
  125. HPDF_GetError (HPDF_Doc pdf);
  126. HPDF_EXPORT(HPDF_STATUS)
  127. HPDF_GetErrorDetail (HPDF_Doc pdf);
  128. HPDF_EXPORT(void)
  129. HPDF_ResetError (HPDF_Doc pdf);
  130. HPDF_EXPORT(HPDF_STATUS)
  131. HPDF_CheckError (HPDF_Error error);
  132. HPDF_EXPORT(HPDF_STATUS)
  133. HPDF_SetPagesConfiguration (HPDF_Doc pdf,
  134. HPDF_UINT page_per_pages);
  135. HPDF_EXPORT(HPDF_Page)
  136. HPDF_GetPageByIndex (HPDF_Doc pdf,
  137. HPDF_UINT index);
  138. /*---------------------------------------------------------------------------*/
  139. /*---------------------------------------------------------------------------*/
  140. HPDF_EXPORT(HPDF_PageLayout)
  141. HPDF_GetPageLayout (HPDF_Doc pdf);
  142. HPDF_EXPORT(HPDF_STATUS)
  143. HPDF_SetPageLayout (HPDF_Doc pdf,
  144. HPDF_PageLayout layout);
  145. HPDF_EXPORT(HPDF_PageMode)
  146. HPDF_GetPageMode (HPDF_Doc pdf);
  147. HPDF_EXPORT(HPDF_STATUS)
  148. HPDF_SetPageMode (HPDF_Doc pdf,
  149. HPDF_PageMode mode);
  150. HPDF_EXPORT(HPDF_UINT)
  151. HPDF_GetViewerPreference (HPDF_Doc pdf);
  152. HPDF_EXPORT(HPDF_STATUS)
  153. HPDF_SetViewerPreference (HPDF_Doc pdf,
  154. HPDF_UINT value);
  155. HPDF_EXPORT(HPDF_STATUS)
  156. HPDF_SetOpenAction (HPDF_Doc pdf,
  157. HPDF_Destination open_action);
  158. /*---------------------------------------------------------------------------*/
  159. /*----- page handling -------------------------------------------------------*/
  160. /* */
  161. HPDF_EXPORT(HPDF_STATUS)
  162. HPDF_Page_Low_Level_Write (HPDF_Page page, const char *str);
  163. HPDF_EXPORT(HPDF_Page)
  164. HPDF_GetCurrentPage (HPDF_Doc pdf);
  165. HPDF_EXPORT(HPDF_Page)
  166. HPDF_AddPage (HPDF_Doc pdf);
  167. HPDF_EXPORT(HPDF_Page)
  168. HPDF_InsertPage (HPDF_Doc pdf,
  169. HPDF_Page page);
  170. HPDF_EXPORT(HPDF_STATUS)
  171. HPDF_Page_SetWidth (HPDF_Page page,
  172. HPDF_REAL value);
  173. HPDF_EXPORT(HPDF_STATUS)
  174. HPDF_Page_SetHeight (HPDF_Page page,
  175. HPDF_REAL value);
  176. HPDF_EXPORT(HPDF_STATUS)
  177. HPDF_Page_SetSize (HPDF_Page page,
  178. HPDF_PageSizes size,
  179. HPDF_PageDirection direction);
  180. HPDF_EXPORT(HPDF_STATUS)
  181. HPDF_Page_SetRotate (HPDF_Page page,
  182. HPDF_UINT16 angle);
  183. HPDF_EXPORT(HPDF_STATUS)
  184. HPDF_Page_SetZoom (HPDF_Page page,
  185. HPDF_REAL zoom);
  186. /*---------------------------------------------------------------------------*/
  187. /*----- font handling -------------------------------------------------------*/
  188. HPDF_EXPORT(HPDF_Font)
  189. HPDF_GetFont (HPDF_Doc pdf,
  190. const char *font_name,
  191. const char *encoding_name);
  192. HPDF_EXPORT(const char*)
  193. HPDF_LoadType1FontFromFile (HPDF_Doc pdf,
  194. const char *afm_file_name,
  195. const char *data_file_name);
  196. HPDF_EXPORT(HPDF_FontDef)
  197. HPDF_GetTTFontDefFromFile (HPDF_Doc pdf,
  198. const char *file_name,
  199. HPDF_BOOL embedding);
  200. HPDF_EXPORT(const char*)
  201. HPDF_LoadTTFontFromFile (HPDF_Doc pdf,
  202. const char *file_name,
  203. HPDF_BOOL embedding);
  204. HPDF_EXPORT(const char*)
  205. HPDF_LoadTTFontFromFile2 (HPDF_Doc pdf,
  206. const char *file_name,
  207. HPDF_UINT index,
  208. HPDF_BOOL embedding);
  209. HPDF_EXPORT(HPDF_STATUS)
  210. HPDF_AddPageLabel (HPDF_Doc pdf,
  211. HPDF_UINT page_num,
  212. HPDF_PageNumStyle style,
  213. HPDF_UINT first_page,
  214. const char *prefix);
  215. HPDF_EXPORT(HPDF_STATUS)
  216. HPDF_UseJPFonts (HPDF_Doc pdf);
  217. HPDF_EXPORT(HPDF_STATUS)
  218. HPDF_UseKRFonts (HPDF_Doc pdf);
  219. HPDF_EXPORT(HPDF_STATUS)
  220. HPDF_UseCNSFonts (HPDF_Doc pdf);
  221. HPDF_EXPORT(HPDF_STATUS)
  222. HPDF_UseCNTFonts (HPDF_Doc pdf);
  223. /*--------------------------------------------------------------------------*/
  224. /*----- outline ------------------------------------------------------------*/
  225. HPDF_EXPORT(HPDF_Outline)
  226. HPDF_CreateOutline (HPDF_Doc pdf,
  227. HPDF_Outline parent,
  228. const char *title,
  229. HPDF_Encoder encoder);
  230. HPDF_EXPORT(HPDF_STATUS)
  231. HPDF_Outline_SetOpened (HPDF_Outline outline,
  232. HPDF_BOOL opened);
  233. HPDF_EXPORT(HPDF_STATUS)
  234. HPDF_Outline_SetDestination (HPDF_Outline outline,
  235. HPDF_Destination dst);
  236. /*--------------------------------------------------------------------------*/
  237. /*----- destination --------------------------------------------------------*/
  238. HPDF_EXPORT(HPDF_Destination)
  239. HPDF_Page_CreateDestination (HPDF_Page page);
  240. HPDF_EXPORT(HPDF_STATUS)
  241. HPDF_Destination_SetXYZ (HPDF_Destination dst,
  242. HPDF_REAL left,
  243. HPDF_REAL top,
  244. HPDF_REAL zoom);
  245. HPDF_EXPORT(HPDF_STATUS)
  246. HPDF_Destination_SetFit (HPDF_Destination dst);
  247. HPDF_EXPORT(HPDF_STATUS)
  248. HPDF_Destination_SetFitH (HPDF_Destination dst,
  249. HPDF_REAL top);
  250. HPDF_EXPORT(HPDF_STATUS)
  251. HPDF_Destination_SetFitV (HPDF_Destination dst,
  252. HPDF_REAL left);
  253. HPDF_EXPORT(HPDF_STATUS)
  254. HPDF_Destination_SetFitR (HPDF_Destination dst,
  255. HPDF_REAL left,
  256. HPDF_REAL bottom,
  257. HPDF_REAL right,
  258. HPDF_REAL top);
  259. HPDF_EXPORT(HPDF_STATUS)
  260. HPDF_Destination_SetFitB (HPDF_Destination dst);
  261. HPDF_EXPORT(HPDF_STATUS)
  262. HPDF_Destination_SetFitBH (HPDF_Destination dst,
  263. HPDF_REAL top);
  264. HPDF_EXPORT(HPDF_STATUS)
  265. HPDF_Destination_SetFitBV (HPDF_Destination dst,
  266. HPDF_REAL left);
  267. /*--------------------------------------------------------------------------*/
  268. /*----- encoder ------------------------------------------------------------*/
  269. HPDF_EXPORT(HPDF_Encoder)
  270. HPDF_GetEncoder (HPDF_Doc pdf,
  271. const char *encoding_name);
  272. HPDF_EXPORT(HPDF_Encoder)
  273. HPDF_GetCurrentEncoder (HPDF_Doc pdf);
  274. HPDF_EXPORT(HPDF_STATUS)
  275. HPDF_SetCurrentEncoder (HPDF_Doc pdf,
  276. const char *encoding_name);
  277. HPDF_EXPORT(HPDF_EncoderType)
  278. HPDF_Encoder_GetType (HPDF_Encoder encoder);
  279. HPDF_EXPORT(HPDF_ByteType)
  280. HPDF_Encoder_GetByteType (HPDF_Encoder encoder,
  281. const char *text,
  282. HPDF_UINT index);
  283. HPDF_EXPORT(HPDF_UNICODE)
  284. HPDF_Encoder_GetUnicode (HPDF_Encoder encoder,
  285. HPDF_UINT16 code);
  286. HPDF_EXPORT(HPDF_WritingMode)
  287. HPDF_Encoder_GetWritingMode (HPDF_Encoder encoder);
  288. HPDF_EXPORT(HPDF_STATUS)
  289. HPDF_UseJPEncodings (HPDF_Doc pdf);
  290. HPDF_EXPORT(HPDF_STATUS)
  291. HPDF_UseKREncodings (HPDF_Doc pdf);
  292. HPDF_EXPORT(HPDF_STATUS)
  293. HPDF_UseCNSEncodings (HPDF_Doc pdf);
  294. HPDF_EXPORT(HPDF_STATUS)
  295. HPDF_UseCNTEncodings (HPDF_Doc pdf);
  296. HPDF_EXPORT(HPDF_STATUS)
  297. HPDF_UseUTFEncodings (HPDF_Doc pdf);
  298. /*--------------------------------------------------------------------------*/
  299. /*----- annotation ---------------------------------------------------------*/
  300. HPDF_EXPORT(HPDF_Annotation)
  301. HPDF_Page_Create3DAnnot (HPDF_Page page,
  302. HPDF_Rect rect,
  303. HPDF_U3D u3d);
  304. HPDF_EXPORT(HPDF_Annotation)
  305. HPDF_Page_CreateTextAnnot (HPDF_Page page,
  306. HPDF_Rect rect,
  307. const char *text,
  308. HPDF_Encoder encoder);
  309. HPDF_EXPORT(HPDF_Annotation)
  310. HPDF_Page_CreateFreeTextAnnot (HPDF_Page page,
  311. HPDF_Rect rect,
  312. const char *text,
  313. HPDF_Encoder encoder);
  314. HPDF_EXPORT(HPDF_Annotation)
  315. HPDF_Page_CreateLineAnnot (HPDF_Page page,
  316. const char *text,
  317. HPDF_Encoder encoder);
  318. HPDF_EXPORT(HPDF_Annotation)
  319. HPDF_Page_CreateLinkAnnot (HPDF_Page page,
  320. HPDF_Rect rect,
  321. HPDF_Destination dst);
  322. HPDF_EXPORT(HPDF_Annotation)
  323. HPDF_Page_CreateURILinkAnnot (HPDF_Page page,
  324. HPDF_Rect rect,
  325. const char *uri);
  326. HPDF_Annotation
  327. HPDF_Page_CreateTextMarkupAnnot (HPDF_Page page,
  328. HPDF_Rect rect,
  329. const char *text,
  330. HPDF_Encoder encoder,
  331. HPDF_AnnotType subType);
  332. HPDF_EXPORT(HPDF_Annotation)
  333. HPDF_Page_CreateHighlightAnnot (HPDF_Page page,
  334. HPDF_Rect rect,
  335. const char *text,
  336. HPDF_Encoder encoder);
  337. HPDF_EXPORT(HPDF_Annotation)
  338. HPDF_Page_CreateUnderlineAnnot (HPDF_Page page,
  339. HPDF_Rect rect,
  340. const char *text,
  341. HPDF_Encoder encoder);
  342. HPDF_EXPORT(HPDF_Annotation)
  343. HPDF_Page_CreateSquigglyAnnot (HPDF_Page page,
  344. HPDF_Rect rect,
  345. const char *text,
  346. HPDF_Encoder encoder);
  347. HPDF_EXPORT(HPDF_Annotation)
  348. HPDF_Page_CreateStrikeOutAnnot (HPDF_Page page,
  349. HPDF_Rect rect,
  350. const char *text,
  351. HPDF_Encoder encoder);
  352. HPDF_EXPORT(HPDF_Annotation)
  353. HPDF_Page_CreatePopupAnnot ( HPDF_Page page,
  354. HPDF_Rect rect,
  355. HPDF_Annotation parent);
  356. HPDF_EXPORT(HPDF_Annotation)
  357. HPDF_Page_CreateStampAnnot ( HPDF_Page page,
  358. HPDF_Rect rect,
  359. HPDF_StampAnnotName name,
  360. const char* text,
  361. HPDF_Encoder encoder);
  362. HPDF_EXPORT(HPDF_Annotation)
  363. HPDF_Page_CreateProjectionAnnot(HPDF_Page page,
  364. HPDF_Rect rect,
  365. const char* text,
  366. HPDF_Encoder encoder);
  367. HPDF_EXPORT(HPDF_Annotation)
  368. HPDF_Page_CreateSquareAnnot (HPDF_Page page,
  369. HPDF_Rect rect,
  370. const char *text,
  371. HPDF_Encoder encoder);
  372. HPDF_EXPORT(HPDF_Annotation)
  373. HPDF_Page_CreateCircleAnnot (HPDF_Page page,
  374. HPDF_Rect rect,
  375. const char *text,
  376. HPDF_Encoder encoder);
  377. HPDF_EXPORT(HPDF_STATUS)
  378. HPDF_LinkAnnot_SetHighlightMode (HPDF_Annotation annot,
  379. HPDF_AnnotHighlightMode mode);
  380. HPDF_EXPORT(HPDF_STATUS)
  381. HPDF_LinkAnnot_SetBorderStyle (HPDF_Annotation annot,
  382. HPDF_REAL width,
  383. HPDF_UINT16 dash_on,
  384. HPDF_UINT16 dash_off);
  385. HPDF_EXPORT(HPDF_STATUS)
  386. HPDF_TextAnnot_SetIcon (HPDF_Annotation annot,
  387. HPDF_AnnotIcon icon);
  388. HPDF_EXPORT(HPDF_STATUS)
  389. HPDF_TextAnnot_SetOpened (HPDF_Annotation annot,
  390. HPDF_BOOL opened);
  391. HPDF_EXPORT(HPDF_STATUS)
  392. HPDF_Annot_SetRGBColor (HPDF_Annotation annot, HPDF_RGBColor color);
  393. HPDF_EXPORT(HPDF_STATUS)
  394. HPDF_Annot_SetCMYKColor (HPDF_Annotation annot, HPDF_CMYKColor color);
  395. HPDF_EXPORT(HPDF_STATUS)
  396. HPDF_Annot_SetGrayColor (HPDF_Annotation annot, HPDF_REAL color);
  397. HPDF_EXPORT(HPDF_STATUS)
  398. HPDF_Annot_SetNoColor (HPDF_Annotation annot);
  399. HPDF_EXPORT(HPDF_STATUS)
  400. HPDF_MarkupAnnot_SetTitle (HPDF_Annotation annot, const char* name);
  401. HPDF_EXPORT(HPDF_STATUS)
  402. HPDF_MarkupAnnot_SetSubject (HPDF_Annotation annot, const char* name);
  403. HPDF_EXPORT(HPDF_STATUS)
  404. HPDF_MarkupAnnot_SetCreationDate (HPDF_Annotation annot, HPDF_Date value);
  405. HPDF_EXPORT(HPDF_STATUS)
  406. HPDF_MarkupAnnot_SetTransparency (HPDF_Annotation annot, HPDF_REAL value);
  407. HPDF_EXPORT(HPDF_STATUS)
  408. HPDF_MarkupAnnot_SetIntent (HPDF_Annotation annot, HPDF_AnnotIntent intent);
  409. HPDF_EXPORT(HPDF_STATUS)
  410. HPDF_MarkupAnnot_SetPopup (HPDF_Annotation annot, HPDF_Annotation popup);
  411. HPDF_EXPORT(HPDF_STATUS)
  412. HPDF_MarkupAnnot_SetRectDiff (HPDF_Annotation annot, HPDF_Rect rect); /* RD entry */
  413. HPDF_EXPORT(HPDF_STATUS)
  414. HPDF_MarkupAnnot_SetCloudEffect (HPDF_Annotation annot, HPDF_INT cloudIntensity); /* BE entry */
  415. HPDF_EXPORT(HPDF_STATUS)
  416. HPDF_MarkupAnnot_SetInteriorRGBColor (HPDF_Annotation annot, HPDF_RGBColor color); /* IC with RGB entry */
  417. HPDF_EXPORT(HPDF_STATUS)
  418. HPDF_MarkupAnnot_SetInteriorCMYKColor (HPDF_Annotation annot, HPDF_CMYKColor color); /* IC with CMYK entry */
  419. HPDF_EXPORT(HPDF_STATUS)
  420. HPDF_MarkupAnnot_SetInteriorGrayColor (HPDF_Annotation annot, HPDF_REAL color); /* IC with Gray entry */
  421. HPDF_EXPORT(HPDF_STATUS)
  422. HPDF_MarkupAnnot_SetInteriorTransparent (HPDF_Annotation annot); /* IC with No Color entry */
  423. HPDF_EXPORT(HPDF_STATUS)
  424. HPDF_TextMarkupAnnot_SetQuadPoints ( HPDF_Annotation annot, HPDF_Point lb, HPDF_Point rb, HPDF_Point rt, HPDF_Point lt); /* l-left, r-right, b-bottom, t-top positions */
  425. HPDF_EXPORT(HPDF_STATUS)
  426. HPDF_Annot_Set3DView ( HPDF_MMgr mmgr,
  427. HPDF_Annotation annot,
  428. HPDF_Annotation annot3d,
  429. HPDF_Dict view);
  430. HPDF_EXPORT(HPDF_STATUS)
  431. HPDF_PopupAnnot_SetOpened (HPDF_Annotation annot,
  432. HPDF_BOOL opened);
  433. HPDF_EXPORT(HPDF_STATUS)
  434. HPDF_FreeTextAnnot_SetLineEndingStyle (HPDF_Annotation annot, HPDF_LineAnnotEndingStyle startStyle, HPDF_LineAnnotEndingStyle endStyle);
  435. HPDF_EXPORT(HPDF_STATUS)
  436. HPDF_FreeTextAnnot_Set3PointCalloutLine (HPDF_Annotation annot, HPDF_Point startPoint, HPDF_Point kneePoint, HPDF_Point endPoint); /* Callout line will be in default user space */
  437. HPDF_EXPORT(HPDF_STATUS)
  438. HPDF_FreeTextAnnot_Set2PointCalloutLine (HPDF_Annotation annot, HPDF_Point startPoint, HPDF_Point endPoint); /* Callout line will be in default user space */
  439. HPDF_EXPORT(HPDF_STATUS)
  440. HPDF_FreeTextAnnot_SetDefaultStyle (HPDF_Annotation annot, const char* style);
  441. HPDF_EXPORT(HPDF_STATUS)
  442. HPDF_LineAnnot_SetPosition (HPDF_Annotation annot,
  443. HPDF_Point startPoint, HPDF_LineAnnotEndingStyle startStyle,
  444. HPDF_Point endPoint, HPDF_LineAnnotEndingStyle endStyle);
  445. HPDF_EXPORT(HPDF_STATUS)
  446. HPDF_LineAnnot_SetLeader (HPDF_Annotation annot, HPDF_INT leaderLen, HPDF_INT leaderExtLen, HPDF_INT leaderOffsetLen);
  447. HPDF_EXPORT(HPDF_STATUS)
  448. HPDF_LineAnnot_SetCaption (HPDF_Annotation annot, HPDF_BOOL showCaption, HPDF_LineAnnotCapPosition position, HPDF_INT horzOffset, HPDF_INT vertOffset);
  449. HPDF_EXPORT(HPDF_STATUS)
  450. HPDF_Annotation_SetBorderStyle (HPDF_Annotation annot,
  451. HPDF_BSSubtype subtype,
  452. HPDF_REAL width,
  453. HPDF_UINT16 dash_on,
  454. HPDF_UINT16 dash_off,
  455. HPDF_UINT16 dash_phase);
  456. HPDF_EXPORT(HPDF_STATUS)
  457. HPDF_ProjectionAnnot_SetExData(HPDF_Annotation annot, HPDF_ExData exdata);
  458. /*--------------------------------------------------------------------------*/
  459. /*----- 3D Measure ---------------------------------------------------------*/
  460. HPDF_EXPORT(HPDF_3DMeasure)
  461. HPDF_Page_Create3DC3DMeasure(HPDF_Page page,
  462. HPDF_Point3D firstanchorpoint,
  463. HPDF_Point3D textanchorpoint
  464. );
  465. HPDF_EXPORT(HPDF_3DMeasure)
  466. HPDF_Page_CreatePD33DMeasure(HPDF_Page page,
  467. HPDF_Point3D annotationPlaneNormal,
  468. HPDF_Point3D firstAnchorPoint,
  469. HPDF_Point3D secondAnchorPoint,
  470. HPDF_Point3D leaderLinesDirection,
  471. HPDF_Point3D measurementValuePoint,
  472. HPDF_Point3D textYDirection,
  473. HPDF_REAL value,
  474. const char* unitsString
  475. );
  476. HPDF_EXPORT(HPDF_STATUS)
  477. HPDF_3DMeasure_SetName(HPDF_3DMeasure measure,
  478. const char* name);
  479. HPDF_EXPORT(HPDF_STATUS)
  480. HPDF_3DMeasure_SetColor(HPDF_3DMeasure measure,
  481. HPDF_RGBColor color);
  482. HPDF_EXPORT(HPDF_STATUS)
  483. HPDF_3DMeasure_SetTextSize(HPDF_3DMeasure measure,
  484. HPDF_REAL textsize);
  485. HPDF_EXPORT(HPDF_STATUS)
  486. HPDF_3DC3DMeasure_SetTextBoxSize(HPDF_3DMeasure measure,
  487. HPDF_INT32 x,
  488. HPDF_INT32 y);
  489. HPDF_EXPORT(HPDF_STATUS)
  490. HPDF_3DC3DMeasure_SetText(HPDF_3DMeasure measure,
  491. const char* text,
  492. HPDF_Encoder encoder);
  493. HPDF_EXPORT(HPDF_STATUS)
  494. HPDF_3DC3DMeasure_SetProjectionAnotation(HPDF_3DMeasure measure,
  495. HPDF_Annotation projectionanotation);
  496. /*--------------------------------------------------------------------------*/
  497. /*----- External Data ---------------------------------------------------------*/
  498. HPDF_EXPORT(HPDF_ExData)
  499. HPDF_Page_Create3DAnnotExData(HPDF_Page page );
  500. HPDF_EXPORT(HPDF_STATUS)
  501. HPDF_3DAnnotExData_Set3DMeasurement(HPDF_ExData exdata, HPDF_3DMeasure measure);
  502. /*--------------------------------------------------------------------------*/
  503. /*--------------------------------------------------------------------------*/
  504. /*----- 3D View ---------------------------------------------------------*/
  505. HPDF_EXPORT(HPDF_Dict)
  506. HPDF_Page_Create3DView (HPDF_Page page,
  507. HPDF_U3D u3d,
  508. HPDF_Annotation annot3d,
  509. const char *name);
  510. HPDF_EXPORT(HPDF_STATUS)
  511. HPDF_3DView_Add3DC3DMeasure(HPDF_Dict view,
  512. HPDF_3DMeasure measure);
  513. /*--------------------------------------------------------------------------*/
  514. /*----- image data ---------------------------------------------------------*/
  515. HPDF_EXPORT(HPDF_Image)
  516. HPDF_LoadPngImageFromMem (HPDF_Doc pdf,
  517. const HPDF_BYTE *buffer,
  518. HPDF_UINT size);
  519. HPDF_EXPORT(HPDF_Image)
  520. HPDF_LoadPngImageFromFile (HPDF_Doc pdf,
  521. const char *filename);
  522. HPDF_EXPORT(HPDF_Image)
  523. HPDF_LoadPngImageFromFile2 (HPDF_Doc pdf,
  524. const char *filename);
  525. HPDF_EXPORT(HPDF_Image)
  526. HPDF_LoadJpegImageFromFile (HPDF_Doc pdf,
  527. const char *filename);
  528. HPDF_EXPORT(HPDF_Image)
  529. HPDF_LoadJpegImageFromMem (HPDF_Doc pdf,
  530. const HPDF_BYTE *buffer,
  531. HPDF_UINT size);
  532. HPDF_EXPORT(HPDF_Image)
  533. HPDF_LoadU3DFromFile (HPDF_Doc pdf,
  534. const char *filename);
  535. HPDF_EXPORT(HPDF_Image)
  536. HPDF_Image_LoadRaw1BitImageFromMem (HPDF_Doc pdf,
  537. const HPDF_BYTE *buf,
  538. HPDF_UINT width,
  539. HPDF_UINT height,
  540. HPDF_UINT line_width,
  541. HPDF_BOOL black_is1,
  542. HPDF_BOOL top_is_first);
  543. HPDF_EXPORT(HPDF_Image)
  544. HPDF_LoadRawImageFromFile (HPDF_Doc pdf,
  545. const char *filename,
  546. HPDF_UINT width,
  547. HPDF_UINT height,
  548. HPDF_ColorSpace color_space);
  549. HPDF_EXPORT(HPDF_Image)
  550. HPDF_LoadRawImageFromMem (HPDF_Doc pdf,
  551. const HPDF_BYTE *buf,
  552. HPDF_UINT width,
  553. HPDF_UINT height,
  554. HPDF_ColorSpace color_space,
  555. HPDF_UINT bits_per_component);
  556. HPDF_EXPORT(HPDF_STATUS)
  557. HPDF_Image_AddSMask (HPDF_Image image,
  558. HPDF_Image smask);
  559. HPDF_EXPORT(HPDF_Point)
  560. HPDF_Image_GetSize (HPDF_Image image);
  561. HPDF_EXPORT(HPDF_STATUS)
  562. HPDF_Image_GetSize2 (HPDF_Image image, HPDF_Point *size);
  563. HPDF_EXPORT(HPDF_UINT)
  564. HPDF_Image_GetWidth (HPDF_Image image);
  565. HPDF_EXPORT(HPDF_UINT)
  566. HPDF_Image_GetHeight (HPDF_Image image);
  567. HPDF_EXPORT(HPDF_UINT)
  568. HPDF_Image_GetBitsPerComponent (HPDF_Image image);
  569. HPDF_EXPORT(const char*)
  570. HPDF_Image_GetColorSpace (HPDF_Image image);
  571. HPDF_EXPORT(HPDF_STATUS)
  572. HPDF_Image_SetColorMask (HPDF_Image image,
  573. HPDF_UINT rmin,
  574. HPDF_UINT rmax,
  575. HPDF_UINT gmin,
  576. HPDF_UINT gmax,
  577. HPDF_UINT bmin,
  578. HPDF_UINT bmax);
  579. HPDF_EXPORT(HPDF_STATUS)
  580. HPDF_Image_SetMaskImage (HPDF_Image image,
  581. HPDF_Image mask_image);
  582. /*--------------------------------------------------------------------------*/
  583. /*----- info dictionary ----------------------------------------------------*/
  584. HPDF_EXPORT(HPDF_STATUS)
  585. HPDF_SetInfoAttr (HPDF_Doc pdf,
  586. HPDF_InfoType type,
  587. const char *value);
  588. HPDF_EXPORT(const char*)
  589. HPDF_GetInfoAttr (HPDF_Doc pdf,
  590. HPDF_InfoType type);
  591. HPDF_EXPORT(HPDF_STATUS)
  592. HPDF_SetInfoDateAttr (HPDF_Doc pdf,
  593. HPDF_InfoType type,
  594. HPDF_Date value);
  595. /*--------------------------------------------------------------------------*/
  596. /*----- encryption ---------------------------------------------------------*/
  597. HPDF_EXPORT(HPDF_STATUS)
  598. HPDF_SetPassword (HPDF_Doc pdf,
  599. const char *owner_passwd,
  600. const char *user_passwd);
  601. HPDF_EXPORT(HPDF_STATUS)
  602. HPDF_SetPermission (HPDF_Doc pdf,
  603. HPDF_UINT permission);
  604. HPDF_EXPORT(HPDF_STATUS)
  605. HPDF_SetEncryptionMode (HPDF_Doc pdf,
  606. HPDF_EncryptMode mode,
  607. HPDF_UINT key_len);
  608. /*--------------------------------------------------------------------------*/
  609. /*----- compression --------------------------------------------------------*/
  610. HPDF_EXPORT(HPDF_STATUS)
  611. HPDF_SetCompressionMode (HPDF_Doc pdf,
  612. HPDF_UINT mode);
  613. /*--------------------------------------------------------------------------*/
  614. /*----- font ---------------------------------------------------------------*/
  615. HPDF_EXPORT(const char*)
  616. HPDF_Font_GetFontName (HPDF_Font font);
  617. HPDF_EXPORT(const char*)
  618. HPDF_Font_GetEncodingName (HPDF_Font font);
  619. HPDF_EXPORT(HPDF_INT)
  620. HPDF_Font_GetUnicodeWidth (HPDF_Font font,
  621. HPDF_UNICODE code);
  622. HPDF_EXPORT(HPDF_Box)
  623. HPDF_Font_GetBBox (HPDF_Font font);
  624. HPDF_EXPORT(HPDF_INT)
  625. HPDF_Font_GetAscent (HPDF_Font font);
  626. HPDF_EXPORT(HPDF_INT)
  627. HPDF_Font_GetDescent (HPDF_Font font);
  628. HPDF_EXPORT(HPDF_UINT)
  629. HPDF_Font_GetXHeight (HPDF_Font font);
  630. HPDF_EXPORT(HPDF_UINT)
  631. HPDF_Font_GetCapHeight (HPDF_Font font);
  632. HPDF_EXPORT(HPDF_TextWidth)
  633. HPDF_Font_TextWidth (HPDF_Font font,
  634. const HPDF_BYTE *text,
  635. HPDF_UINT len);
  636. HPDF_EXPORT(HPDF_UINT)
  637. HPDF_Font_MeasureText (HPDF_Font font,
  638. const HPDF_BYTE *text,
  639. HPDF_UINT len,
  640. HPDF_REAL width,
  641. HPDF_REAL font_size,
  642. HPDF_REAL char_space,
  643. HPDF_REAL word_space,
  644. HPDF_BOOL wordwrap,
  645. HPDF_REAL *real_width);
  646. /*--------------------------------------------------------------------------*/
  647. /*----- attachements -------------------------------------------------------*/
  648. HPDF_EXPORT(HPDF_EmbeddedFile)
  649. HPDF_AttachFile (HPDF_Doc pdf,
  650. const char *file);
  651. /*--------------------------------------------------------------------------*/
  652. /*----- extended graphics state --------------------------------------------*/
  653. HPDF_EXPORT(HPDF_ExtGState)
  654. HPDF_CreateExtGState (HPDF_Doc pdf);
  655. HPDF_EXPORT(HPDF_STATUS)
  656. HPDF_ExtGState_SetAlphaStroke (HPDF_ExtGState ext_gstate,
  657. HPDF_REAL value);
  658. HPDF_EXPORT(HPDF_STATUS)
  659. HPDF_ExtGState_SetAlphaFill (HPDF_ExtGState ext_gstate,
  660. HPDF_REAL value);
  661. HPDF_EXPORT(HPDF_STATUS)
  662. HPDF_ExtGState_SetBlendMode (HPDF_ExtGState ext_gstate,
  663. HPDF_BlendMode mode);
  664. /*--------------------------------------------------------------------------*/
  665. /*--------------------------------------------------------------------------*/
  666. HPDF_EXPORT(HPDF_REAL)
  667. HPDF_Page_TextWidth (HPDF_Page page,
  668. const char *text);
  669. HPDF_EXPORT(HPDF_UINT)
  670. HPDF_Page_MeasureText (HPDF_Page page,
  671. const char *text,
  672. HPDF_REAL width,
  673. HPDF_BOOL wordwrap,
  674. HPDF_REAL *real_width);
  675. HPDF_EXPORT(HPDF_REAL)
  676. HPDF_Page_GetWidth (HPDF_Page page);
  677. HPDF_EXPORT(HPDF_REAL)
  678. HPDF_Page_GetHeight (HPDF_Page page);
  679. HPDF_EXPORT(HPDF_UINT16)
  680. HPDF_Page_GetGMode (HPDF_Page page);
  681. HPDF_EXPORT(HPDF_Point)
  682. HPDF_Page_GetCurrentPos (HPDF_Page page);
  683. HPDF_EXPORT(HPDF_STATUS)
  684. HPDF_Page_GetCurrentPos2 (HPDF_Page page,
  685. HPDF_Point *pos);
  686. HPDF_EXPORT(HPDF_Point)
  687. HPDF_Page_GetCurrentTextPos (HPDF_Page page);
  688. HPDF_EXPORT(HPDF_STATUS)
  689. HPDF_Page_GetCurrentTextPos2 (HPDF_Page page,
  690. HPDF_Point *pos);
  691. HPDF_EXPORT(HPDF_Font)
  692. HPDF_Page_GetCurrentFont (HPDF_Page page);
  693. HPDF_EXPORT(HPDF_REAL)
  694. HPDF_Page_GetCurrentFontSize (HPDF_Page page);
  695. HPDF_EXPORT(HPDF_TransMatrix)
  696. HPDF_Page_GetTransMatrix (HPDF_Page page);
  697. HPDF_EXPORT(HPDF_REAL)
  698. HPDF_Page_GetLineWidth (HPDF_Page page);
  699. HPDF_EXPORT(HPDF_LineCap)
  700. HPDF_Page_GetLineCap (HPDF_Page page);
  701. HPDF_EXPORT(HPDF_LineJoin)
  702. HPDF_Page_GetLineJoin (HPDF_Page page);
  703. HPDF_EXPORT(HPDF_REAL)
  704. HPDF_Page_GetMiterLimit (HPDF_Page page);
  705. HPDF_EXPORT(HPDF_DashMode)
  706. HPDF_Page_GetDash (HPDF_Page page);
  707. HPDF_EXPORT(HPDF_REAL)
  708. HPDF_Page_GetFlat (HPDF_Page page);
  709. HPDF_EXPORT(HPDF_REAL)
  710. HPDF_Page_GetCharSpace (HPDF_Page page);
  711. HPDF_EXPORT(HPDF_REAL)
  712. HPDF_Page_GetWordSpace (HPDF_Page page);
  713. HPDF_EXPORT(HPDF_REAL)
  714. HPDF_Page_GetHorizontalScalling (HPDF_Page page);
  715. HPDF_EXPORT(HPDF_REAL)
  716. HPDF_Page_GetTextLeading (HPDF_Page page);
  717. HPDF_EXPORT(HPDF_TextRenderingMode)
  718. HPDF_Page_GetTextRenderingMode (HPDF_Page page);
  719. /* This function is obsolete. Use HPDF_Page_GetTextRise. */
  720. HPDF_EXPORT(HPDF_REAL)
  721. HPDF_Page_GetTextRaise (HPDF_Page page);
  722. HPDF_EXPORT(HPDF_REAL)
  723. HPDF_Page_GetTextRise (HPDF_Page page);
  724. HPDF_EXPORT(HPDF_RGBColor)
  725. HPDF_Page_GetRGBFill (HPDF_Page page);
  726. HPDF_EXPORT(HPDF_RGBColor)
  727. HPDF_Page_GetRGBStroke (HPDF_Page page);
  728. HPDF_EXPORT(HPDF_CMYKColor)
  729. HPDF_Page_GetCMYKFill (HPDF_Page page);
  730. HPDF_EXPORT(HPDF_CMYKColor)
  731. HPDF_Page_GetCMYKStroke (HPDF_Page page);
  732. HPDF_EXPORT(HPDF_REAL)
  733. HPDF_Page_GetGrayFill (HPDF_Page page);
  734. HPDF_EXPORT(HPDF_REAL)
  735. HPDF_Page_GetGrayStroke (HPDF_Page page);
  736. HPDF_EXPORT(HPDF_ColorSpace)
  737. HPDF_Page_GetStrokingColorSpace (HPDF_Page page);
  738. HPDF_EXPORT(HPDF_ColorSpace)
  739. HPDF_Page_GetFillingColorSpace (HPDF_Page page);
  740. HPDF_EXPORT(HPDF_TransMatrix)
  741. HPDF_Page_GetTextMatrix (HPDF_Page page);
  742. HPDF_EXPORT(HPDF_UINT)
  743. HPDF_Page_GetGStateDepth (HPDF_Page page);
  744. /*--------------------------------------------------------------------------*/
  745. /*----- GRAPHICS OPERATORS -------------------------------------------------*/
  746. /*--- General graphics state ---------------------------------------------*/
  747. /* w */
  748. HPDF_EXPORT(HPDF_STATUS)
  749. HPDF_Page_SetLineWidth (HPDF_Page page,
  750. HPDF_REAL line_width);
  751. /* J */
  752. HPDF_EXPORT(HPDF_STATUS)
  753. HPDF_Page_SetLineCap (HPDF_Page page,
  754. HPDF_LineCap line_cap);
  755. /* j */
  756. HPDF_EXPORT(HPDF_STATUS)
  757. HPDF_Page_SetLineJoin (HPDF_Page page,
  758. HPDF_LineJoin line_join);
  759. /* M */
  760. HPDF_EXPORT(HPDF_STATUS)
  761. HPDF_Page_SetMiterLimit (HPDF_Page page,
  762. HPDF_REAL miter_limit);
  763. /* d */
  764. HPDF_EXPORT(HPDF_STATUS)
  765. HPDF_Page_SetDash (HPDF_Page page,
  766. const HPDF_UINT16 *dash_ptn,
  767. HPDF_UINT num_param,
  768. HPDF_UINT phase);
  769. /* ri --not implemented yet */
  770. /* i */
  771. HPDF_EXPORT(HPDF_STATUS)
  772. HPDF_Page_SetFlat (HPDF_Page page,
  773. HPDF_REAL flatness);
  774. /* gs */
  775. HPDF_EXPORT(HPDF_STATUS)
  776. HPDF_Page_SetExtGState (HPDF_Page page,
  777. HPDF_ExtGState ext_gstate);
  778. /*--- Special graphic state operator --------------------------------------*/
  779. /* q */
  780. HPDF_EXPORT(HPDF_STATUS)
  781. HPDF_Page_GSave (HPDF_Page page);
  782. /* Q */
  783. HPDF_EXPORT(HPDF_STATUS)
  784. HPDF_Page_GRestore (HPDF_Page page);
  785. /* cm */
  786. HPDF_EXPORT(HPDF_STATUS)
  787. HPDF_Page_Concat (HPDF_Page page,
  788. HPDF_REAL a,
  789. HPDF_REAL b,
  790. HPDF_REAL c,
  791. HPDF_REAL d,
  792. HPDF_REAL x,
  793. HPDF_REAL y);
  794. /*--- Path construction operator ------------------------------------------*/
  795. /* m */
  796. HPDF_EXPORT(HPDF_STATUS)
  797. HPDF_Page_MoveTo (HPDF_Page page,
  798. HPDF_REAL x,
  799. HPDF_REAL y);
  800. /* l */
  801. HPDF_EXPORT(HPDF_STATUS)
  802. HPDF_Page_LineTo (HPDF_Page page,
  803. HPDF_REAL x,
  804. HPDF_REAL y);
  805. /* c */
  806. HPDF_EXPORT(HPDF_STATUS)
  807. HPDF_Page_CurveTo (HPDF_Page page,
  808. HPDF_REAL x1,
  809. HPDF_REAL y1,
  810. HPDF_REAL x2,
  811. HPDF_REAL y2,
  812. HPDF_REAL x3,
  813. HPDF_REAL y3);
  814. /* v */
  815. HPDF_EXPORT(HPDF_STATUS)
  816. HPDF_Page_CurveTo2 (HPDF_Page page,
  817. HPDF_REAL x2,
  818. HPDF_REAL y2,
  819. HPDF_REAL x3,
  820. HPDF_REAL y3);
  821. /* y */
  822. HPDF_EXPORT(HPDF_STATUS)
  823. HPDF_Page_CurveTo3 (HPDF_Page page,
  824. HPDF_REAL x1,
  825. HPDF_REAL y1,
  826. HPDF_REAL x3,
  827. HPDF_REAL y3);
  828. /* h */
  829. HPDF_EXPORT(HPDF_STATUS)
  830. HPDF_Page_ClosePath (HPDF_Page page);
  831. /* re */
  832. HPDF_EXPORT(HPDF_STATUS)
  833. HPDF_Page_Rectangle (HPDF_Page page,
  834. HPDF_REAL x,
  835. HPDF_REAL y,
  836. HPDF_REAL width,
  837. HPDF_REAL height);
  838. /*--- Path painting operator ---------------------------------------------*/
  839. /* S */
  840. HPDF_EXPORT(HPDF_STATUS)
  841. HPDF_Page_Stroke (HPDF_Page page);
  842. /* s */
  843. HPDF_EXPORT(HPDF_STATUS)
  844. HPDF_Page_ClosePathStroke (HPDF_Page page);
  845. /* f */
  846. HPDF_EXPORT(HPDF_STATUS)
  847. HPDF_Page_Fill (HPDF_Page page);
  848. /* f* */
  849. HPDF_EXPORT(HPDF_STATUS)
  850. HPDF_Page_Eofill (HPDF_Page page);
  851. /* B */
  852. HPDF_EXPORT(HPDF_STATUS)
  853. HPDF_Page_FillStroke (HPDF_Page page);
  854. /* B* */
  855. HPDF_EXPORT(HPDF_STATUS)
  856. HPDF_Page_EofillStroke (HPDF_Page page);
  857. /* b */
  858. HPDF_EXPORT(HPDF_STATUS)
  859. HPDF_Page_ClosePathFillStroke (HPDF_Page page);
  860. /* b* */
  861. HPDF_EXPORT(HPDF_STATUS)
  862. HPDF_Page_ClosePathEofillStroke (HPDF_Page page);
  863. /* n */
  864. HPDF_EXPORT(HPDF_STATUS)
  865. HPDF_Page_EndPath (HPDF_Page page);
  866. /*--- Clipping paths operator --------------------------------------------*/
  867. /* W */
  868. HPDF_EXPORT(HPDF_STATUS)
  869. HPDF_Page_Clip (HPDF_Page page);
  870. /* W n */
  871. HPDF_EXPORT(HPDF_STATUS)
  872. HPDF_Page_Clip_No_Border (HPDF_Page page);
  873. /* W* */
  874. HPDF_EXPORT(HPDF_STATUS)
  875. HPDF_Page_Eoclip (HPDF_Page page);
  876. /*--- Text object operator -----------------------------------------------*/
  877. /* BT */
  878. HPDF_EXPORT(HPDF_STATUS)
  879. HPDF_Page_BeginText (HPDF_Page page);
  880. /* ET */
  881. HPDF_EXPORT(HPDF_STATUS)
  882. HPDF_Page_EndText (HPDF_Page page);
  883. /*--- Text state ---------------------------------------------------------*/
  884. /* Tc */
  885. HPDF_EXPORT(HPDF_STATUS)
  886. HPDF_Page_SetCharSpace (HPDF_Page page,
  887. HPDF_REAL value);
  888. /* Tw */
  889. HPDF_EXPORT(HPDF_STATUS)
  890. HPDF_Page_SetWordSpace (HPDF_Page page,
  891. HPDF_REAL value);
  892. /* Tz */
  893. HPDF_EXPORT(HPDF_STATUS)
  894. HPDF_Page_SetHorizontalScalling (HPDF_Page page,
  895. HPDF_REAL value);
  896. /* TL */
  897. HPDF_EXPORT(HPDF_STATUS)
  898. HPDF_Page_SetTextLeading (HPDF_Page page,
  899. HPDF_REAL value);
  900. /* Tf */
  901. HPDF_EXPORT(HPDF_STATUS)
  902. HPDF_Page_SetFontAndSize (HPDF_Page page,
  903. HPDF_Font font,
  904. HPDF_REAL size);
  905. /* Tr */
  906. HPDF_EXPORT(HPDF_STATUS)
  907. HPDF_Page_SetTextRenderingMode (HPDF_Page page,
  908. HPDF_TextRenderingMode mode);
  909. /* Ts */
  910. HPDF_EXPORT(HPDF_STATUS)
  911. HPDF_Page_SetTextRise (HPDF_Page page,
  912. HPDF_REAL value);
  913. /* This function is obsolete. Use HPDF_Page_SetTextRise. */
  914. HPDF_EXPORT(HPDF_STATUS)
  915. HPDF_Page_SetTextRaise (HPDF_Page page,
  916. HPDF_REAL value);
  917. /*--- Text positioning ---------------------------------------------------*/
  918. /* Td */
  919. HPDF_EXPORT(HPDF_STATUS)
  920. HPDF_Page_MoveTextPos (HPDF_Page page,
  921. HPDF_REAL x,
  922. HPDF_REAL y);
  923. /* TD */
  924. HPDF_EXPORT(HPDF_STATUS)
  925. HPDF_Page_MoveTextPos2 (HPDF_Page page,
  926. HPDF_REAL x,
  927. HPDF_REAL y);
  928. /* Tm */
  929. HPDF_EXPORT(HPDF_STATUS)
  930. HPDF_Page_SetTextMatrix (HPDF_Page page,
  931. HPDF_REAL a,
  932. HPDF_REAL b,
  933. HPDF_REAL c,
  934. HPDF_REAL d,
  935. HPDF_REAL x,
  936. HPDF_REAL y);
  937. /* T* */
  938. HPDF_EXPORT(HPDF_STATUS)
  939. HPDF_Page_MoveToNextLine (HPDF_Page page);
  940. /*--- Text showing -------------------------------------------------------*/
  941. /* Tj */
  942. HPDF_EXPORT(HPDF_STATUS)
  943. HPDF_Page_ShowText (HPDF_Page page,
  944. const char *text);
  945. /* TJ */
  946. /* ' */
  947. HPDF_EXPORT(HPDF_STATUS)
  948. HPDF_Page_ShowTextNextLine (HPDF_Page page,
  949. const char *text);
  950. /* " */
  951. HPDF_EXPORT(HPDF_STATUS)
  952. HPDF_Page_ShowTextNextLineEx (HPDF_Page page,
  953. HPDF_REAL word_space,
  954. HPDF_REAL char_space,
  955. const char *text);
  956. /*--- Color showing ------------------------------------------------------*/
  957. /* cs --not implemented yet */
  958. /* CS --not implemented yet */
  959. /* sc --not implemented yet */
  960. /* scn --not implemented yet */
  961. /* SC --not implemented yet */
  962. /* SCN --not implemented yet */
  963. /* g */
  964. HPDF_EXPORT(HPDF_STATUS)
  965. HPDF_Page_SetGrayFill (HPDF_Page page,
  966. HPDF_REAL gray);
  967. /* G */
  968. HPDF_EXPORT(HPDF_STATUS)
  969. HPDF_Page_SetGrayStroke (HPDF_Page page,
  970. HPDF_REAL gray);
  971. /* rg */
  972. HPDF_EXPORT(HPDF_STATUS)
  973. HPDF_Page_SetRGBFill (HPDF_Page page,
  974. HPDF_REAL r,
  975. HPDF_REAL g,
  976. HPDF_REAL b);
  977. /* RG */
  978. HPDF_EXPORT(HPDF_STATUS)
  979. HPDF_Page_SetRGBStroke (HPDF_Page page,
  980. HPDF_REAL r,
  981. HPDF_REAL g,
  982. HPDF_REAL b);
  983. /* k */
  984. HPDF_EXPORT(HPDF_STATUS)
  985. HPDF_Page_SetCMYKFill (HPDF_Page page,
  986. HPDF_REAL c,
  987. HPDF_REAL m,
  988. HPDF_REAL y,
  989. HPDF_REAL k);
  990. /* K */
  991. HPDF_EXPORT(HPDF_STATUS)
  992. HPDF_Page_SetCMYKStroke (HPDF_Page page,
  993. HPDF_REAL c,
  994. HPDF_REAL m,
  995. HPDF_REAL y,
  996. HPDF_REAL k);
  997. /*--- Shading patterns ---------------------------------------------------*/
  998. /* sh --not implemented yet */
  999. /*--- In-line images -----------------------------------------------------*/
  1000. /* BI --not implemented yet */
  1001. /* ID --not implemented yet */
  1002. /* EI --not implemented yet */
  1003. /*--- XObjects -----------------------------------------------------------*/
  1004. /* Do */
  1005. HPDF_EXPORT(HPDF_STATUS)
  1006. HPDF_Page_ExecuteXObject (HPDF_Page page,
  1007. HPDF_XObject obj);
  1008. /*--- Marked content -----------------------------------------------------*/
  1009. /* BMC --not implemented yet */
  1010. /* BDC --not implemented yet */
  1011. /* EMC --not implemented yet */
  1012. /* MP --not implemented yet */
  1013. /* DP --not implemented yet */
  1014. /*--- Compatibility ------------------------------------------------------*/
  1015. /* BX --not implemented yet */
  1016. /* EX --not implemented yet */
  1017. HPDF_EXPORT(HPDF_STATUS)
  1018. HPDF_Page_DrawImage (HPDF_Page page,
  1019. HPDF_Image image,
  1020. HPDF_REAL x,
  1021. HPDF_REAL y,
  1022. HPDF_REAL width,
  1023. HPDF_REAL height);
  1024. HPDF_EXPORT(HPDF_STATUS)
  1025. HPDF_Page_Circle (HPDF_Page page,
  1026. HPDF_REAL x,
  1027. HPDF_REAL y,
  1028. HPDF_REAL ray);
  1029. HPDF_EXPORT(HPDF_STATUS)
  1030. HPDF_Page_Ellipse (HPDF_Page page,
  1031. HPDF_REAL x,
  1032. HPDF_REAL y,
  1033. HPDF_REAL xray,
  1034. HPDF_REAL yray);
  1035. HPDF_EXPORT(HPDF_STATUS)
  1036. HPDF_Page_Arc (HPDF_Page page,
  1037. HPDF_REAL x,
  1038. HPDF_REAL y,
  1039. HPDF_REAL ray,
  1040. HPDF_REAL ang1,
  1041. HPDF_REAL ang2);
  1042. HPDF_EXPORT(HPDF_STATUS)
  1043. HPDF_Page_TextOut (HPDF_Page page,
  1044. HPDF_REAL xpos,
  1045. HPDF_REAL ypos,
  1046. const char *text);
  1047. HPDF_EXPORT(HPDF_STATUS)
  1048. HPDF_Page_TextRect (HPDF_Page page,
  1049. HPDF_REAL left,
  1050. HPDF_REAL top,
  1051. HPDF_REAL right,
  1052. HPDF_REAL bottom,
  1053. const char *text,
  1054. HPDF_TextAlignment align,
  1055. HPDF_UINT *len);
  1056. HPDF_EXPORT(HPDF_STATUS)
  1057. HPDF_Page_SetSlideShow (HPDF_Page page,
  1058. HPDF_TransitionStyle type,
  1059. HPDF_REAL disp_time,
  1060. HPDF_REAL trans_time);
  1061. HPDF_EXPORT(HPDF_OutputIntent)
  1062. HPDF_ICC_LoadIccFromMem (HPDF_Doc pdf,
  1063. HPDF_MMgr mmgr,
  1064. HPDF_Stream iccdata,
  1065. HPDF_Xref xref,
  1066. int numcomponent);
  1067. HPDF_EXPORT(HPDF_OutputIntent)
  1068. HPDF_LoadIccProfileFromFile (HPDF_Doc pdf,
  1069. const char* icc_file_name,
  1070. int numcomponent);
  1071. #ifdef __cplusplus
  1072. }
  1073. #endif /* __cplusplus */
  1074. #endif /* _HPDF_H */