The point is createXYZ(pdf.getPage(1), 0, 0, 0). It should be createXYZ(firstPage, 0, firstPage.getPageSize().getHeight(), 1).
createXYZ(pdf.getPage(1), 0, 0, 0)
createXYZ(firstPage, 0, firstPage.getPageSize().getHeight(), 1)