On 18/05/16 10:16, 副島大志 wrote: > Hello, I'm Taishi Soejima. > Thanks to poppler, I can use PDF converting application. > > I have a question, how can I process over 2.14GB pdf with poppler? > When I try that, I've got this message below. > > "Syntax Error: Document base stream is not seekable" > > I guess too big to process and it exceed the range of 32bit of integral > number. > > I'm very happy if I get awswer and process such big files. > > Thank you in advance.
Large files have been supported since 0.23.0 on both Linux and Windows. The autoconf build enables the large file support that makes off_t a 64-bit type. There appears to be something similar in the cmake build. I noticed a minor issue with the fseek feature macros. Patch attached. > > _______________________________________________ > poppler mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/poppler >
>From 757b7f2a66b830d6ea779a0575b4d4616d692caf Mon Sep 17 00:00:00 2001 From: Adrian Johnson <[email protected]> Date: Thu, 19 May 2016 23:12:27 +0930 Subject: [PATCH] testing of feature macros with #if/#elif should use defined() --- goo/gfile.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/goo/gfile.cc b/goo/gfile.cc index 3528bb3..ef4eacb 100644 --- a/goo/gfile.cc +++ b/goo/gfile.cc @@ -553,13 +553,13 @@ char *getLine(char *buf, int size, FILE *f) { } int Gfseek(FILE *f, Goffset offset, int whence) { -#if HAVE_FSEEKO +#if defined(HAVE_FSEEKO) return fseeko(f, offset, whence); -#elif HAVE_FSEEK64 +#elif defined(HAVE_FSEEK64) return fseek64(f, offset, whence); #elif defined(__MINGW32__) return fseeko64(f, offset, whence); -#elif _WIN32 +#elif defined(_WIN32) return _fseeki64(f, offset, whence); #else return fseek(f, offset, whence); @@ -567,13 +567,13 @@ int Gfseek(FILE *f, Goffset offset, int whence) { } Goffset Gftell(FILE *f) { -#if HAVE_FSEEKO +#if defined(HAVE_FSEEKO) return ftello(f); -#elif HAVE_FSEEK64 +#elif defined(HAVE_FSEEK64) return ftell64(f); #elif defined(__MINGW32__) return ftello64(f); -#elif _WIN32 +#elif defined(_WIN32) return _ftelli64(f); #else return ftell(f); @@ -581,11 +581,11 @@ Goffset Gftell(FILE *f) { } Goffset GoffsetMax() { -#if HAVE_FSEEKO +#if defined(HAVE_FSEEKO) return (std::numeric_limits<off_t>::max)(); -#elif HAVE_FSEEK64 || defined(__MINGW32__) +#elif defined(HAVE_FSEEK64) || defined(__MINGW32__) return (std::numeric_limits<off64_t>::max)(); -#elif _WIN32 +#elif defined(_WIN32) return (std::numeric_limits<__int64>::max)(); #else return (std::numeric_limits<long>::max)(); -- 2.1.4
_______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
