Redesign PrintUtils and add footer text support