HPDF_FreeDocAll (HPDF_Doc pdf) { HPDF_PTRACE ((" HPDF_FreeDocAll\n")); if (HPDF_Doc_Validate (pdf)) { HPDF_FreeDoc (pdf); if (pdf->fontdef_list) FreeFontDefList (pdf); if (pdf->encoder_list) FreeEncoderList (pdf); pdf->compression_mode = HPDF_COMP_NONE; HPDF_Error_Reset (&pdf->error); } }
/* * Class: org_libharu_PdfDocument * Method: freeDoc * Signature: (I)V */ JNIEXPORT void JNICALL Java_org_libharu_PdfDocument_freeDoc(JNIEnv *env, jclass cls, jint pdf) { /* Free the provided document */ HPDF_FreeDoc((HPDF_Doc) pdf); }
HPDF_NewDoc (HPDF_Doc pdf) { char buf[HPDF_TMP_BUF_SIZ]; char *ptr = buf; char *eptr = buf + HPDF_TMP_BUF_SIZ - 1; const char *version; HPDF_PTRACE ((" HPDF_NewDoc\n")); if (!HPDF_Doc_Validate (pdf)) return HPDF_DOC_INVALID_OBJECT; HPDF_FreeDoc (pdf); pdf->xref = HPDF_Xref_New (pdf->mmgr, 0); if (!pdf->xref) return HPDF_CheckError (&pdf->error); pdf->trailer = pdf->xref->trailer; pdf->font_mgr = HPDF_List_New (pdf->mmgr, HPDF_DEF_ITEMS_PER_BLOCK); if (!pdf->font_mgr) return HPDF_CheckError (&pdf->error); if (!pdf->fontdef_list) { pdf->fontdef_list = HPDF_List_New (pdf->mmgr, HPDF_DEF_ITEMS_PER_BLOCK); if (!pdf->fontdef_list) return HPDF_CheckError (&pdf->error); } if (!pdf->encoder_list) { pdf->encoder_list = HPDF_List_New (pdf->mmgr, HPDF_DEF_ITEMS_PER_BLOCK); if (!pdf->encoder_list) return HPDF_CheckError (&pdf->error); } pdf->catalog = HPDF_Catalog_New (pdf->mmgr, pdf->xref); if (!pdf->catalog) return HPDF_CheckError (&pdf->error); pdf->root_pages = HPDF_Catalog_GetRoot (pdf->catalog); if (!pdf->root_pages) return HPDF_CheckError (&pdf->error); pdf->page_list = HPDF_List_New (pdf->mmgr, HPDF_DEF_PAGE_LIST_NUM); if (!pdf->page_list) return HPDF_CheckError (&pdf->error); pdf->cur_pages = pdf->root_pages; ptr = (char *)HPDF_StrCpy (ptr, (const char *)"Haru Free PDF Library ", eptr); version = HPDF_GetVersion (); HPDF_StrCpy (ptr, version, eptr); if (HPDF_SetInfoAttr (pdf, HPDF_INFO_PRODUCER, buf) != HPDF_OK) return HPDF_CheckError (&pdf->error); return HPDF_OK; }