code: protected com.itextpdf.text.Image createImage(PdfContentByte canvas, DATATYPE data, float opacity) throws VectorPrintException, BadElementException {
        initURL(String.valueOf((data != null) ? convert(data) : getData()));
        com.itextpdf.text.Image img = null;
        if (isPdf()) {
           imageLoader.loadPdf(getUrl(), getWriter(), getValue(DocumentSettings.PASSWORD, byte[].class), imp, 1);
           img = imp.getImage();
        } else if (getValue(TIFF, Boolean.class)) {
           imageLoader.loadTiff(getUrl(), imp, 1);
           img = imp.getImage();
        } else {
           img = imageLoader.loadImage(getUrl(), opacity);
        }
        return img;
     }
docs: This implementation downloads an image from the URL taken from {@link #getUrl() }, which may be initialized by
  {@link #initURL(java.lang.String)}. Override this method if you want to construct an image from the data argument in
  another way.
  
  @param canvas
  @param data
  @param opacity the value of opacity
  @throws VectorPrintException
  @throws BadElementException
  @return the com.itextpdf.text.Image