diff options
Diffstat (limited to 'test/pdfrip.c')
-rw-r--r-- | test/pdfrip.c | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/test/pdfrip.c b/test/pdfrip.c index 2bcceada..34d6a141 100644 --- a/test/pdfrip.c +++ b/test/pdfrip.c @@ -15,10 +15,10 @@ void runcsi(pdf_xref *xref, pdf_csi *csi, pdf_resources *rdb, fz_obj *stmref) { fz_error *error; - error = pdf_openstream(xref, stmref); + error = pdf_openstream(xref, fz_tonum(stmref), fz_togen(stmref)); if (error) fz_abort(error); - error = pdf_runcsi(csi, rdb, xref->file); + error = pdf_runcsi(csi, rdb, xref->stream); if (error) fz_abort(error); pdf_closestream(xref); @@ -84,25 +84,27 @@ printf("\nfitz tree:\n"); fz_pixmap *pix; fz_renderer *gc; fz_matrix ctm; + fz_rect bbox; #define W 612 #define H 792 -#define xW 1106 -#define xH 1548 - fz_newrenderer(&gc); - fz_newpixmap(&pix, 0, 0, W, H, 1, 0); - ctm = fz_concat(fz_translate(0, -H), fz_scale(1,-1)); - memset(pix->samples, 0x00, pix->stride * pix->h * 2); + bbox.min.x = 0; + bbox.min.y = 0; + bbox.max.x = W; + bbox.max.y = H; + + ctm = fz_concat(fz_translate(0, -H), fz_scale(1,-1)); printf("rendering!\n"); - fz_rendernode(gc, csi->tree->root, ctm, pix); + fz_rendertree(&pix, gc, csi->tree, ctm, bbox); printf("done!\n"); + fz_debugpixmap(pix); + fz_droppixmap(pix); - fz_freepixmap(pix); fz_freerenderer(gc); } @@ -118,13 +120,11 @@ int main(int argc, char **argv) int c; char *password = ""; - int dorepair = 0; - while ((c = getopt(argc, argv, "rp:")) != -1) + while ((c = getopt(argc, argv, "p:")) != -1) { switch (c) { - case 'r': dorepair ++; break; case 'p': password = optarg; break; default: usage(); } @@ -135,18 +135,11 @@ int main(int argc, char **argv) filename = argv[optind++]; - error = pdf_newxref(&xref); - if (error) - fz_abort(error); - - if (dorepair) - error = pdf_repairxref(xref, filename); - else - error = pdf_openxref(xref, filename); + error = pdf_openpdf(&xref, filename); if (error) fz_abort(error); - error = pdf_decryptxref(xref); + error = pdf_decryptpdf(xref); if (error) fz_abort(error); @@ -175,7 +168,7 @@ int main(int argc, char **argv) showpage(xref, pages->pobj[page - 1]); } - pdf_closexref(xref); + pdf_closepdf(xref); return 0; } |