iText PDFO tamanho da página do documento é impreciso
Estou tentando adicionar um cabeçalho aos documentos pdf existentes em Java com o iText. Posso adicionar o cabeçalho em um local fixo no documento, mas todos os documentos têm tamanhos de página diferentes, portanto nem sempre estão na parte superior da página. Eu tentei obter o tamanho da página para poder calcular a posição do cabeçalho, mas parece que o tamanho da página não é realmente o que eu quero. Em alguns documentos, chamarreader.getPageSize(i).getTop(20)
colocará o texto no lugar certo na parte superior da página; no entanto, em alguns documentos diferentes, ele o colocará no meio da página. A maioria das páginas digitalizadas é uma copiadora Xerox, se isso faz diferença. Aqui está o código que estou usando:
PdfReader reader = new PdfReader(readFilePath);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(writeFilePath));
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
PdfContentByte cb = stamper.getOverContent(i);
cb.beginText();
cb.setFontAndSize(bf, 14);
float x = reader.getPageSize(i).getWidth() / 2;
float y = reader.getPageSize(i).getTop(20);
cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "Copy", x, y, 0);
cb.endText();
}
stamper.close();