void pdfapp_close(pdfapp_t *app) { if (app->pages) pdf_droppagetree(app->pages); app->pages = nil; if (app->page) pdf_droppage(app->page); app->page = nil; if (app->image) fz_droppixmap(app->image); app->image = nil; if (app->outline) pdf_dropoutline(app->outline); app->outline = nil; if (app->xref->store) pdf_dropstore(app->xref->store); app->xref->store = nil; pdf_closexref(app->xref); app->xref = nil; }
void epdf_document_delete(Epdf_Document* doc) { if(!doc) return; if(doc->outline) { pdf_dropoutline(doc->outline); doc->outline = NULL; } if(doc->xref->store) { pdf_dropstore(doc->xref->store); doc->xref->store = NULL; } pdf_closexref(doc->xref); doc->xref = NULL; if(doc->rast) { fz_droprenderer(doc->rast); doc->rast = NULL; } free(doc); }
int closePdfFile( soPdfFile* pdfFile ) { assert(pdfFile != NULL); if (pdfFile->pageTree) { pdf_droppagetree(pdfFile->pageTree); pdfFile->pageTree = NULL; } if (pdfFile->xref) { if (pdfFile->xref->store) { pdf_dropstore(pdfFile->xref->store); pdfFile->xref->store = NULL; } pdf_closexref(pdfFile->xref); } return 0; }
static void pdfClose(PDFContext* ctx) { if (ctx->page) pdf_droppage(ctx->page); ctx->page = 0; if (ctx->pages) pdf_droppagetree(ctx->pages); ctx->pages = 0; /*if (ctx->image) fz_droppixmap(ctx->image); ctx->image = nil;*/ if (ctx->outline) pdf_dropoutline(ctx->outline); ctx->outline = 0; if (ctx->xref->store) pdf_dropstore(ctx->xref->store); ctx->xref->store = 0; pdf_closexref(ctx->xref); ctx->xref = 0; if (ctx->rast) fz_droprenderer(ctx->rast); ctx->rast = 0; //printf("alloc_current = %d\n", (int)alloc_current); }
void pdfapp_close(pdfapp_t *app) { if (app->cache) fz_freeglyphcache(app->cache); app->cache = nil; if (app->page) pdf_droppage(app->page); app->page = nil; if (app->image) fz_droppixmap(app->image); app->image = nil; if (app->text) fz_freetextspan(app->text); app->text = nil; if (app->outline) pdf_dropoutline(app->outline); app->outline = nil; if (app->xref->store) pdf_dropstore(app->xref->store); app->xref->store = nil; pdf_closexref(app->xref); app->xref = nil; }
static void local_cleanup(void) { if (xref && xref->store) { pdf_dropstore(xref->store); xref->store = nil; } if (drawgc) { fz_droprenderer(drawgc); drawgc = nil; } }
void pdfapp_close(pdfapp_t *app) { #if 0 if (app->page) pdf_droppage(app->page); app->page = nil; if (app->image) fz_droppixmap(app->image); app->image = nil; /* if (app->outline) pdf_dropoutline(app->outline); app->outline = nil;*/ if (app->xref->store) pdf_dropstore(app->xref->store); app->xref->store = nil; pdf_closexref(app->xref); app->xref = nil; #else if (app->cache) fz_free_glyph_cache(app->cache); app->cache = NULL; if (app->image) fz_drop_pixmap(app->image); app->image = NULL; if (app->outline) pdf_free_outline(app->outline); app->outline = NULL; if (app->xref) { if (app->xref->store) pdf_free_store(app->xref->store); app->xref->store = NULL; pdf_free_xref(app->xref); app->xref = NULL; } fz_flush_warnings(); #endif }
NPError NPP_Destroy(NPP inst, NPSavedData **saved) { pdfmoz_t *moz = inst->pdata; int i; //MSG("NPP_Destroy"); inst->pdata = NULL; DeleteObject(moz->graybrush); DestroyCursor(moz->arrow); DestroyCursor(moz->hand); DestroyCursor(moz->wait); fz_free(moz->dibinf); for (i = 0; i < moz->pagecount; i++) { if (moz->pages[i].obj) fz_dropobj(moz->pages[i].obj); if (moz->pages[i].page) pdf_droppage(moz->pages[i].page); if (moz->pages[i].image) fz_droppixmap(moz->pages[i].image); } fz_free(moz->pages); if (moz->xref) { if (moz->xref->store) { pdf_dropstore(moz->xref->store); moz->xref->store = nil; } pdf_closexref(moz->xref); } fz_free(moz); return NPERR_NO_ERROR; }
void closesrc(void) { if (srcpages) { pdf_droppagetree(srcpages); srcpages = nil; } if (src) { if (src->store) { pdf_dropstore(src->store); src->store = nil; } pdf_closexref(src); src = nil; } srcname = nil; }
static void saveimage(fz_obj *obj, int num, int gen) { pdf_image *img = nil; fz_obj *ref; fz_error error; fz_pixmap *pix; char name[1024]; FILE *f; int bpc; int w; int h; int n; int x; int y; error = fz_newindirect(&ref, num, gen, xref); if (error) die(error); error = pdf_newstore(&xref->store); if (error) die(error); error = pdf_loadimage(&img, xref, ref); if (error) die(error); n = img->super.n; w = img->super.w; h = img->super.h; bpc = img->bpc; error = fz_newpixmap(&pix, 0, 0, w, h, n + 1); if (error) die(error); error = img->super.loadtile(&img->super, pix); if (error) die(error); if (bpc == 1 && n == 0) { fz_pixmap *temp; error = fz_newpixmap(&temp, pix->x, pix->y, pix->w, pix->h, pdf_devicergb->n + 1); if (error) die(error); for (y = 0; y < pix->h; y++) for (x = 0; x < pix->w; x++) { int pixel = y * pix->w + x; temp->samples[pixel * temp->n + 0] = 255; temp->samples[pixel * temp->n + 1] = pix->samples[pixel]; temp->samples[pixel * temp->n + 2] = pix->samples[pixel]; temp->samples[pixel * temp->n + 3] = pix->samples[pixel]; } fz_droppixmap(pix); pix = temp; } if (img->super.cs && strcmp(img->super.cs->name, "DeviceRGB")) { fz_pixmap *temp; error = fz_newpixmap(&temp, pix->x, pix->y, pix->w, pix->h, pdf_devicergb->n + 1); if (error) die(error); fz_convertpixmap(img->super.cs, pix, pdf_devicergb, temp); fz_droppixmap(pix); pix = temp; } sprintf(name, "img-%04d.pnm", num); f = fopen(name, "wb"); if (f == NULL) die(fz_throw("Error creating image file")); fprintf(f, "P6\n%d %d\n%d\n", w, h, 255); for (y = 0; y < pix->h; y++) for (x = 0; x < pix->w; x++) { fz_sample *sample = &pix->samples[(y * pix->w + x) * (pdf_devicergb->n + 1)]; unsigned char r = sample[1]; unsigned char g = sample[2]; unsigned char b = sample[3]; fprintf(f, "%c%c%c", r, g, b); } if (fclose(f) < 0) die(fz_throw("Error closing image file")); fz_droppixmap(pix); pdf_dropstore(xref->store); xref->store = nil; fz_dropimage(&img->super); fz_dropobj(ref); }
static void local_cleanup(void) { int i; if (info) { free(info); info = nil; } if (dim) { for (i = 0; i < dims; i++) free(dim[i]); free(dim); dim = nil; } if (font) { for (i = 0; i < fonts; i++) free(font[i]); free(font); font = nil; } if (image) { for (i = 0; i < images; i++) free(image[i]); free(image); image = nil; } if (shading) { for (i = 0; i < shadings; i++) free(shading[i]); free(shading); shading = nil; } if (pattern) { for (i = 0; i < patterns; i++) free(pattern[i]); free(pattern); pattern = nil; } if (form) { for (i = 0; i < forms; i++) free(form[i]); free(form); form = nil; } if (psobj) { for (i = 0; i < psobjs; i++) free(psobj[i]); free(psobj); psobj = nil; } if (xref && xref->store) { pdf_dropstore(xref->store); xref->store = nil; } }