X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=lib%2Fpdf%2Fpdf.cc;h=257997897032db32008108d0c57bd4edd4e259af;hb=1328e56e38a5148fb51eb0225c5570bc6d4645b4;hp=c828f02dbdfc217a1b9ea90e86ca67f95a4a3c19;hpb=6224775ba4774f77854d1ac0f7e74b4a22eba13f;p=swftools.git
diff --git a/lib/pdf/pdf.cc b/lib/pdf/pdf.cc
index c828f02..2579978 100644
--- a/lib/pdf/pdf.cc
+++ b/lib/pdf/pdf.cc
@@ -22,6 +22,8 @@ static char* global_page_range = 0;
static parameter_t* device_config = 0;
static parameter_t* device_config_next = 0;
+static int globalparams_count=0;
+
typedef struct _pdf_page_info
{
int xMin, yMin, xMax, yMax;
@@ -133,8 +135,6 @@ void pdfpage_rendersection(gfxpage_t*page, gfxdevice_t*output, gfxcoord_t x, gfx
render2(page, output);
}
-static int globalparams_count=0;
-
void pdf_doc_destroy(gfxdocument_t*gfx)
{
pdf_doc_internal_t*i= (pdf_doc_internal_t*)gfx->internal;
@@ -361,10 +361,14 @@ static void pdf_set_parameter(gfxsource_t*src, const char*name, const char*value
multiply = atoi(value);
} else if(!strcmp(name, "help")) {
printf("\nPDF device global parameters:\n");
- printf("fontdir=
a directory with additional fonts\n");
- printf("font= an dditional font filename\n");
- printf("pages= the range of pages to convert (example: pages=1-100,210-)\n");
- printf("zoom= the resultion (default: 72)\n");
+ printf("fontdir= a directory with additional fonts\n");
+ printf("font= an additional font filename\n");
+ printf("pages= the range of pages to convert (example: pages=1-100,210-)\n");
+ printf("zoom= the resultion (default: 72)\n");
+ printf("languagedir= Add an xpdf language directory\n");
+ printf("multiply= Render everything at the resolution\n");
+ printf("poly2bitmap Convert graphics to bitmaps\n");
+ printf("bitmap Convert everything to bitmaps\n");
}
storeDeviceParameter(name,value);
}
@@ -480,6 +484,17 @@ void pdf_destroy(gfxsource_t*src)
return;
gfxsource_internal_t*i = (gfxsource_internal_t*)src->internal;
free(src->internal);src->internal=0;
+
+ parameter_t*p = device_config;
+ while(p) {
+ parameter_t*next = p->next;
+ if(p->name) free(p->name);p->name = 0;
+ if(p->value) free(p->value);p->value =0;
+ p->next = 0;delete p;
+ p = next;
+ }
+ delete globalParams;globalParams = 0;
+ free(src);
}
gfxsource_t*gfxsource_pdf_create()