Am 02.08.2017 um 15:42 schrieb Christopher Schultz:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Tilman,
On 8/2/17 2:28 AM, Tilman Hausherr wrote:
Am 02.08.2017 um 01:17 schrieb Christopher Schultz: Tilman,
On 8/1/17 4:42 PM, Tilman Hausherr wrote:
Am 01.08.2017 um 22:09 schrieb Christopher Schultz: Tilman,
On 8/1/17 3:22 PM, Tilman Hausherr wrote:
The only thing that comes close to what you want is to
create your PDDocument with
MemoryUsageSetting.setupMixed(...) as parameter.
So that we can buffer to disk if the in-memory representation
gets too big? That sounds like a good approach, and probably
the most useful to m e.
It also appears that I can set a maximum in-memory limit
like this:
MemoryUsageSetting mus =
MemoryUsageSetting.setupMainMemoryOnly(1 * 1024 * 1024);
PDDocument doc = new PDDocument(mus);
Yes. Although this would mean you'd get an exception if you
use more. That's why I recommend the mixed one. You could
use the memory limit for stress tests, i.e. create the
"worst" possible file and see what you need.
I think I'm okay with an exception in these cases. As I said, our
PDFs only end up being a few kiB in size, so I've put a 1MiB cap on
the memory-only memory usage strategy for the time being.
I'm curious about what's being constrained, here... does PDFBox
estimate its current memory-usage of various PD* objects in memory
and push to disk when that's exceeded, or does it just limit the
amount of memory that gets used when serializing out to a stream.
There is no estimate... it writes in the dedicated space and if
it is full, it's either exception (if memory only) or writing to
disk cache.
I get that, but I want to understand exactly what things are "counted".
Yes... it's mostly images, fonts and page content streams.
So, if I write an image to the PDDocument, that "counts" towards the
memory/disk limits? What about plain text? Or the
PDPage/PDPageContentStreams? If I write 1000 pages of plain-text to
the PDDocument object, will that "fill up" the limited-memory I have
configured? Or does that memory limit only count when e.g. serializing
to a "compiled" PDF file (or whatever the right terminology is)?
There is no such thing as "plain text". What you think is plain text is
going to the page content streams.
Yes it will "fill up".
Tilman
[Using built-in fonts] is even better, because it doesn't use any
additional space (and is faster too). Your application is a
very simple one :-)
Yes, we are just taking some raw information and exporting it as a
PDF. We wanted something simple AND we wanted to have file sizes as
small as possible.
I have a related question about fonts, but I'll ask that in a separate
thread.
You really should worry about other things... choose one or
many: climate change, russian hackers, terrorism, rising interest
rates, traffic jams, heavy rain flooding your basement, people
who don't wash their hands, whatever :-)
Who says I'm not a Russian hacker/taxi driver/hedge fund manager who
pours truckloads of water on people's houses without warning?
- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBCAAGBQJZgdbbAAoJEBzwKT+lPKRYQqwQALgwGrOVs2imMdDSMmk9dwNm
dFoVemVdXVnBvAdlF6tTosKIIKo9jDs2csxpcsOXnug/GytFGxR7NKWF8MRzBHf1
RulHwtarKxBRYef0jiPOOcrXLRxtQL3GWMEpQl+pZGIyBkh9DVvsUNnqQyaew3CF
UiXMekauOq6yLpV3MSVFPF1Wh+jKKVwVG/3rhrEPFhuS22TSTyWbHkNlgky2PwJs
wMt3tMJQpe3PWQtEWXETJc119n97mmt9RtifcuNIcCV9k8/+RO0U+NpXfZzYYS68
WTl9f60iHeMvrAkfiK1QpwgY6HvvyZRDuLAk+45kopJjR7tlHS6L20f3YsYAyYPK
fWIrEm2glFOv4IPwbzQzP9DM7p3ti41i8E41zcvVT7hUv541tfEB/xdMTZgIA/m4
1Km1jp2Vdww1GyjT+llLswxnh+JAPQlk4lGippdxy7HLFzSqzS9XV2uBZdpQcpjx
28VuR/3idYtl7IVByQjtsNQsbuPApREqv45Za06Q08r2wXEgbc0mV6kuSTY9NyDQ
OMD6Df+rbZlKRZyHFAXAGgTcRMdxhcYkW6UFr9XWlpPFi2jGnkIGW920p/9cFd7U
o2nmRVDPJBPhqWtEG3702fU1FFvouqWH4isb3lsPxawY4mk8ixFzXQiU/9TiaOkF
MUMfRfwBSW/ukkWPgj4t
=+oM3
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]