> On 1 Sep 2015, at 09:31, Tilman Hausherr <[email protected]> wrote: > > Am 01.09.2015 um 11:26 schrieb Lachezar Dobrev: >> Hello all. >> I'm tasked with providing a service to generate PDFs from template PDFs >> by replacing text place holders and image place holders with data from a >> database. >> For replacing text we decided to use Form Fields to keep minimal effect >> on the page layout, and to avoid problems with texts being split into parts >> by the editor. >> Replacing images is also achievable using >> COSStream.replaceWithStream(COSStream). >> >> Q1: The replaceWithStream method is being deprecated. What can I use to >> do the same thing in PDFBox 2? I tried stream-copying, but I get a >> "WARNING: DCTFilter#encode is not implemented yet, skipping this stream." >> and the image disappears from the output file. > > If you want to copy a JPEG, you should use createRawInputStream().
Isn’t that what PDFCloneUtility is for? I remember a long-winded discussion we had on the mailing list a while ago where I’d wanted stream copying to be simpler, but I believe that this was the accepted solution. — John > The JPEG should be of the same size and same colorspace than the original > image. > > Alternatively - just put nothing in the templare, and simply put an image of > whatever size you want with traditional methods (see image handling in > PDPageContentStream) > >> >> Q2: Is there any way to identify which image is what? Form fields have >> Mapping Name that I can use to detect which field needs to contain what, >> but I can not find a way to get some user-controllable identifier for an >> image. Any thoughts? > > Images do have a name in the resources. So it should work if you do the > template yourself. > > Tilman > > >> > > > --------------------------------------------------------------------- > 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]

