Closed sbrinkmann closed 10 years ago
Thank you for the issue.
I have some thoughts about it, especially about the lack of seek
in new memory stream implementation, but i will have a spare time for investigation starting from tomorrow evening.
Well, the bug was quite stupid. It is strange that it has not appeared earlier not on my mac nor on my linux box.
Hi Blackbean. Thanks for the quick response. I've tested your bugfix and it works! The only problem which appeard during the compilation process was the following warning. This warning only appeard on linux on mac it worked like a charm.
Output Ubuntu Linux
|
> poppler-simple@0.1.7 preinstall /opt/dachshund/dachshund/apps/node_modules/poppler-simple
> (node-gyp configure) || (exit 0)
> poppler-simple@0.1.7 install /opt/dachshund/dachshund/apps/node_modules/poppler-simple
> (node-gyp rebuild) || (exit 0)
make: Entering directory `/opt/dachshund/dachshund/apps/node_modules/poppler-simple/build'
CXX(target) Release/obj.target/poppler/src/poppler.o
CXX(target) Release/obj.target/poppler/src/NodePopplerDocument.o
CXX(target) Release/obj.target/poppler/src/NodePopplerPage.o
In file included from /usr/include/string.h:640:0,
from /usr/include/poppler/Object.h:38,
from /usr/include/poppler/XRef.h:41,
from /usr/include/poppler/PDFDoc.h:45,
from ../src/NodePopplerDocument.h:6,
from ../src/NodePopplerPage.cc:5:
In function 'char* strcpy(char*, const char*)',
inlined from 'void node::NodePopplerPage::parseAnnot(v8::Handle<v8::Value>, double*, double*, double*, double*, double*, double*, double*, double*, char**)' at ../src/NodePopplerPage.cc:469:34:
/usr/include/x86_64-linux-gnu/bits/string3.h:104:63: warning: call to void* __builtin___memcpy_chk(void*, const void*, long unsigned int, long unsigned int) will always overflow destination buffer [enabled by default]
return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
^
CXX(target) Release/obj.target/poppler/src/iconv_string.o
CXX(target) Release/obj.target/poppler/src/MemoryStream.o
SOLINK_MODULE(target) Release/obj.target/poppler.node
SOLINK_MODULE(target) Release/obj.target/poppler.node: Finished
COPY Release/poppler.node
make: Leaving directory `/opt/dachshund/dachshund/apps/node_modules/poppler-simple/build'
poppler-simple@0.1.7 node_modules/poppler-simpl
Output Mac Os
|
> poppler-simple@0.1.7 preinstall /Users/sbrinkmann/Projects/dachshund/apps/node_modules/poppler-simple
> (node-gyp configure) || (exit 0)
> poppler-simple@0.1.7 install /Users/sbrinkmann/Projects/dachshund/apps/node_modules/poppler-simple
> (node-gyp rebuild) || (exit 0)
CXX(target) Release/obj.target/poppler/src/poppler.o
CXX(target) Release/obj.target/poppler/src/NodePopplerDocument.o
CXX(target) Release/obj.target/poppler/src/NodePopplerPage.o
CXX(target) Release/obj.target/poppler/src/iconv_string.o
CXX(target) Release/obj.target/poppler/src/MemoryStream.o
SOLINK_MODULE(target) Release/poppler.node
SOLINK_MODULE(target) Release/poppler.node: Finished
poppler-simple@0.1.7 node_modules/poppler-simple
Even when this ist library is not beerware (http://en.wikipedia.org/wiki/Beerware), can u share your paypal email address with me? For the quick response, I would like to pay for your next beer. Best regards.
Aww :3 My github profile email is now added to my paypal account, so you are free to use it.
When I use poppler simple on Ubuntu 14.04 (x64) with the including library "libpoppler-cpp0 (0.24.5-2ubuntu4)" I can only render images with a relatively poor quality or with a low dpi value.
From a sample document I can only generate an image with 40dpi and quality of 16%. Higher values cause a broken image. Which means when I want to render an Image with a higher dpi I have to lower the quality even further. A higher quality is only possible for images with an even lower dpi. This issue didn't appeared on my Mac OS dev machine, which was executing the same application. Here I could generate images with almost any dpi and with a quality up to 100%. Since I'm using the 'renderToBufferMethod' ist it possible that the buffer size is to small preconfigured?
The following snipped shows the rendition call. Since I'm using Q-Promises, the rendition call is wrapped by the Promise-Framework