Wie füge ich ein Bild zu meinem Header in einem mit iText generierten PDF hinzu?

Ich benutze iText, um ein PDF zu generieren. Ich habe einen benutzerdefinierten PdfPageEventHelper erstellt, um jeder Seite eine Kopf- und Fußzeile hinzuzufügen.

Mein Problem ist, dass ich nicht weiß, wie ich das Bild hinzufügen soll, damit es in der "Kopfzeile" angezeigt wird. Ich weiß nur, wie ich das Bild zum Dokumentinhalt selbst hinzufügen kann (wenn das Sinn macht).

Hier sind einige Codefragmente ...

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();
    }

  }

}

Vorschläge, wie Sie das Bild in die Kopfzeile einfügen können, sind sehr willkommen.

rauben

Antworten auf die Frage(4)

Ihre Antwort auf die Frage