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

Reply via email to