Я новичок в iText7, и, используя примеры Java, я могу конвертировать HTML в PDF / A-1A, а также добавлять текст заголовка и нижнего колонтитула text.header и текст нижнего колонтитула, которые можно использовать с помощью addEventHandler, и также по CSS, как это:
@page {
@bottom-right {
content: "Page " counter(page) " of " counter(pages);
font-family: FreeSans;
}
}
но заголовок, я хотел бы изображение, например, логотип. Вот мой класс заголовка:
public class Header implements IEventHandler {
String header;
public Header(String header) {
this.header = header;
}
@Override
public void handleEvent(Event event) {
PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
PdfDocument pdf = docEvent.getDocument();
PdfPage page = docEvent.getPage();
Rectangle pageSize = page.getPageSize();
PdfCanvas pdfCanvas = new PdfCanvas(
page.getLastContentStream(), page.getResources(), pdf);
Canvas canvas = new Canvas(pdfCanvas, pdf, pageSize);
canvas.setFontSize(18f);
try {
PdfFont pdfFont = PdfFontFactory.createFont("src/main/resources/fonts/noto/NotoSans-Regular.ttf", PdfEncodings.IDENTITY_H);
canvas.setFont(pdfFont);
} catch(Exception ex) {
ex.printStackTrace();
}
String DOG = "src/main/resources/html/img/logo.png";
try {
Image img = new Image(ImageDataFactory.create(DOG));
Paragraph paragraph = new Paragraph().add(img);
canvas.showTextAligned(paragraph, 0, 0, TextAlignment.CENTER);
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
но изображение не видно, или очень большой охват основного содержимого. Как я могу настроить свойства изображения, такие как ширина, высота и положение?