return -1;
}
+/*
+ * 'pdf_pages_fp()' - Count number of pages in file
+ * using QPDF.
+ * I - Pointer to opened PDF file (stdio FILE*)
+ * O - Number of pages or -1 on error
+ */
+int pdf_pages_fp(FILE *file)
+{
+ QPDF *pdf = new QPDF();
+ if (pdf) {
+ try{
+ pdf->processFile("", file, false);
+ } catch(...) {
+ pdf_free(pdf);
+ return -1;
+ }
+ int pages = (pdf->getAllPages()).size();
+ pdf_free(pdf);
+ return pages;
+ } else
+ return -1;
+}
+
/**
* 'pdf_prepend_stream' - Prepend a stream to the contents of a specified
void pdf_duplicate_page (pdf_t *doc, unsigned page, unsigned count);
int pdf_fill_form(pdf_t *doc, opt_t *opt);
int pdf_pages(const char *filename);
+int pdf_pages_fp(FILE *file);
#ifdef __cplusplus
}