jak dodać obraz do mojego nagłówka w wygenerowanym pliku iText?

Używam iText do wygenerowania pliku PDF. Stworzyłem niestandardowy PdfPageEventHelper, aby dodać nagłówek (i stopkę) do każdej strony.

Moim problemem jest to, że nie wiem, jak dodać obraz, aby był wyświetlany w „polu nagłówka”. Wiem tylko, jak dodać obraz do samej treści dokumentu (jeśli ma to sens).

Oto kilka fragmentów kodu ...

public static void main(String[] args) {
  Rectangle headerBox = new Rectangle(36, 54, 559, 788);
  /* ... */
  Document document = new Document(PageSize.A4, 36, 36, 154, 54);
  PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(FILENAME));
  HeaderFooter event = new HeaderFooter();
  writer.setBoxSize("headerBox", headerBox);
  writer.setPageEvent(event);
  document.open();
  addContent();
  document.close();
}

static class HeaderFooter extends PdfPageEventHelper {

  public void onEndPage(PdfWriter writer, Document document) {
    Rectangle rect = writer.getBoxSize("headerBox");
    // add header text
    ColumnText.showTextAligned(writer.getDirectContent(),
      Element.ALIGN_RIGHT, new Phrase("Hello", fontHeader1),
      rect.getLeft(), rect.getTop(), 0);

    // add header image
    try {
      Image img = Image.getInstance("c:/mylogo.PNG");
      img.scaleToFit(100,100);
      document.add(img);
    } catch (Exception x) {
      x.printStackTrace();
    }

  }

}

Wszelkie sugestie dotyczące odpowiedniego sposobu dodania obrazu do nagłówka są bardzo mile widziane !!

Obrabować

questionAnswers(4)

yourAnswerToTheQuestion