// Debugging generated images
// ImageIO.write(bi, "gif", new File("D:\\" + resName + ".gif"));
// Add generated image to PDF document (as 3D stream resource)
FO3DPDFDocument pdfDoc = (FO3DPDFDocument) context
.getProperty(PDFRendererContextConstants.PDF_DOCUMENT);
PDFResourceContext resContext = (PDFResourceContext) context
.getProperty(PDFRendererContextConstants.PDF_CONTEXT);
ImageInfo imgInfo = new ImageInfo(null, null);
ImageSize imgSize = new ImageSize();
imgSize.setSizeInPixels(bi.getWidth(), bi.getHeight());
imgSize.setResolution(72);
imgInfo.setSize(imgSize);
ImageBuffered img = new ImageBuffered(imgInfo, bi, null);
PDFImage pdfimage = new ImageRenderedAdapter(img, resName);
PDFXObject xobj = pdfDoc.addImage(resContext, pdfimage);
PDF3DStream stream = annot.getStreamSafely();
stream.addResource(resName, xobj);
// load JavaScript library code once (per 3D stream)