summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c')
-rw-r--r--Build/source/texk/web2c/luatexdir/luapplib/src/pptest2.c138
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;
-}