-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 All,
We use PDFBox on a server that must handle many transactions with (somewhat) limited memory. I'd like to limit the amount of memory used to generate our PDFs, which we then serialize to byte-array, base64-encode, etc. for ultimate delivery to some endpoint. I can obviously limit the number of bytes produced by using a size-limited OutputStream passed-into PDDocument.save(OutputStream), but I'm wondering if PDFBox has any facilities within it to limit the size of the object-tree in memory (or estimate its size, and we can stop operations when it reaches a certain size) so that we don't end up with a multi-GB object-tree that then fails to serialize to byte[] because it is too big. We are building our PDF documents from scratch, starting with the page definitions, fonts, etc. then adding titles, paragraphs of text, etc. It's all fairly straightforward, and we have full control over the whole process up to and including the call to PDDocument.save(OutputStream). We are manually constructing our pages as well, so I suppose we could simply limit the number of pages, but I'm more concerned about the size of the memory used and not the number of pages. Is there anything in PDFBox that can help us with this? We can always count e.g. the number of bytes/characters we have written to the PDF, but that seems less important than what is going on inside of the PDF structure itself. - -chris -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJZgMLBAAoJEBzwKT+lPKRY7HoP/RMTQOU8jIvuuoiB4A44rC85 mgrUoJ0aAhpgwtuWEupTNHk08fufWmzwFmaxH5SMLpM7FALvy+u3ssn1w2+5OBZA xStk2Ni8dIo7jjl0YSC2wJ+z4FcfSzV40ut90OmrpkIpnPKM0ICYSERfxhiz1qzN Fhwtty2r+6o/OpyxPAVcLotWIKsOaXPxNg+LGh2WuOko58eXAABgHnMOw5w0ptZp n0DKDo36J0Y8towyQgGjUAIYq8a/8Lf1UVYsQI3qqZoo3B0N3TmSxy+wwNBJ9dyH l599aaBOuUh4BFg0JoAjkEge8Qobl7UrYA88mf6mcOeEKkUy5cald0WKZLkJChl3 Vwybn8brtMJeXTTKpLQWgCQCDLmGUK181fGvofCqHaxdGkBYjqp4NjuqNXrG8adi FpMsxhLk/gpYyJ7i1a3ta+PqU3rw103fEEP5YNQGZx64/Ec4sqzC7QJ0E08hqpau /Ye9goyJ0a+620HS7GeYYCzN+bVVkdG2FUHWcRWG1hSF8+PLi1Y4atWDyWhG1qc7 l3KU6NfM5UE+jS/lElUQxyTF9GuGdIhYfkuC5nl6tF2FI6drRogQ95mkEwFGWbw9 ijssUevr43W/Gx5nUUKZueTjsLTDzgjCWk4cymDKAbP0PtOgE6EWxaP2LiFp9znH JOMb727eMhcfuNEO0eMj =odVE -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

