diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c b/Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c deleted file mode 100644 index 766110da4cd..00000000000 --- a/Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c +++ /dev/null @@ -1,138 +0,0 @@ - -#include <stdio.h> -#include <assert.h> -#include "ppapi.h" - -/* -static const char * get_file_name (const char *path) -{ - const char *fn, *p; - for (fn = p = path; *p != '\0'; ++p) - if (*p == '\\' || *p == '/') - fn = p + 1; - return fn; -} -*/ - -static void box_info (ppdict *pagedict, FILE *fh) -{ - const char *boxes[] = {"MediaBox", "CropBox", "BleedBox", "TrimBox", "ArtBox"}; - pprect rect; - size_t i; - for (i = 0; i < sizeof(boxes) / sizeof(const char *); ++i) - if (ppdict_get_box(pagedict, boxes[i], &rect)) - fprintf(fh, "%%%% %s [%f %f %f %f]\n", boxes[i], rect.lx, rect.ly, rect.rx, rect.ry); -} - -static int usage (const char *argv0) -{ - printf("pplib " pplib_version ", " pplib_author "\n"); - printf("usage: %s file1.pdf file2.pdf ...\n", argv0); - return 0; -} - -static void log_callback (const char *message, void *alien) -{ - fprintf((FILE *)alien, "\nooops: %s\n", message); -} - -int main (int argc, const char **argv) -{ - const char *filepath; - int a; - ppdoc *pdf; - ppref *pageref; - ppdict *pagedict; - int pageno; - char outname[1024]; - FILE *fh; - ppstream *stream; - uint8_t *data; - size_t size; - ppcontext *context; - ppobj *obj; - ppname *op; - size_t operators; - - if (argc < 2) - return usage(argv[0]); - ppstream_init_buffers(); - pplog_callback(log_callback, stderr); - context = ppcontext_new(); - for (a = 1; a < argc; ++a) - { - filepath = argv[a]; - printf("loading %s... ", filepath); - pdf = ppdoc_load(filepath); - if (pdf == NULL) - { - printf("failed\n"); - continue; - } - printf("done.\n"); - switch (ppdoc_crypt_status(pdf)) - { - case PPCRYPT_NONE: - case PPCRYPT_DONE: - break; - case PPCRYPT_PASS: - if (ppdoc_crypt_pass(pdf, "dummy", 5, NULL, 0) == PPCRYPT_DONE || ppdoc_crypt_pass(pdf, NULL, 0, "dummy", 5) == PPCRYPT_DONE) - break; - printf("sorry, password needed\n"); - ppdoc_free(pdf); - continue; - case PPCRYPT_FAIL: - printf("sorry, encryption failed\n"); - ppdoc_free(pdf); - continue; - } - sprintf(outname, "%s.out", filepath); - fh = fopen(outname, "wb"); - if (fh == NULL) - { - printf("can't open %s for writing\n", outname); - continue; - } - for (pageref = ppdoc_first_page(pdf), pageno = 1; - pageref != NULL; - pageref = ppdoc_next_page(pdf), ++pageno) - { - pagedict = pageref->object.dict; - /* decompress contents data */ - fprintf(fh, "%%%% PAGE %d\n", pageno); - box_info(pagedict, fh); - for (stream = ppcontents_first(pagedict); - stream != NULL; - stream = ppcontents_next(pagedict, stream)) - { - for (data = ppstream_first(stream, &size, 1); - data != NULL; - data = ppstream_next(stream, &size)) - fwrite(data, size, 1, fh); - ppstream_done(stream); - } - /* now parse contents */ - for (stream = ppcontents_first(pagedict); - stream != NULL; - stream = ppcontents_next(pagedict, stream)) - { - operators = 0; - for (obj = ppcontents_first_op(context, stream, &size, &op); - obj != NULL; - obj = ppcontents_next_op(context, stream, &size, &op)) - ++operators; - fprintf(fh, "%%%% OPERATORS count %lu\n", (unsigned long)operators); - ppstream_done(stream); - //obj = ppcontents_parse(context, stream, &size); - //fprintf(fh, "%%%% items count %lu\n", (unsigned long)size); - fprintf(fh, "\n"); - } - ppcontext_done(context); - } - fclose(fh); - ppdoc_free(pdf); - } - ppcontext_free(context); - ppstream_free_buffers(); - return 0; -} |