LabelGenerator gen = new LabelGenerator(lastEntry.getValue(), numPages); while (gen.hasNext()) handler.newLabel(pageIndex, gen.next()); pageIndex++; LabelGenerator gen = new LabelGenerator(lastEntry.getValue(), doc.getNumberOfPages() - lastEntry.getKey()); while (gen.hasNext()) handler.newLabel(pageIndex, gen.next()); pageIndex++;
@Override public String next() { if (!hasNext()) { throw new NoSuchElementException(); } StringBuilder buf = new StringBuilder(); if (labelInfo.getPrefix() != null) { String label = labelInfo.getPrefix(); // there may be some labels with some null bytes at the end // which will lead to an incomplete output, see PDFBOX-1047 while (label.lastIndexOf(0) != -1) { label = label.substring(0, label.length()-1); } buf.append(label); } if (labelInfo.getStyle() != null) { buf.append(getNumber(labelInfo.getStart() + currentPage, labelInfo.getStyle())); } currentPage++; return buf.toString(); }
private String getNumber(int pageIndex, String style) { if (style != null) { switch (style) { case PDPageLabelRange.STYLE_DECIMAL: return Integer.toString(pageIndex); case PDPageLabelRange.STYLE_LETTERS_LOWER: return makeLetterLabel(pageIndex); case PDPageLabelRange.STYLE_LETTERS_UPPER: return makeLetterLabel(pageIndex).toUpperCase(); case PDPageLabelRange.STYLE_ROMAN_LOWER: return makeRomanLabel(pageIndex); case PDPageLabelRange.STYLE_ROMAN_UPPER: return makeRomanLabel(pageIndex).toUpperCase(); default: break; } } // Fall back to decimals. return Integer.toString(pageIndex); }
LabelGenerator gen = new LabelGenerator(lastEntry.getValue(), numPages); while (gen.hasNext()) handler.newLabel(pageIndex, gen.next()); pageIndex++; LabelGenerator gen = new LabelGenerator(lastEntry.getValue(), doc.getNumberOfPages() - lastEntry.getKey()); while (gen.hasNext()) handler.newLabel(pageIndex, gen.next()); pageIndex++;
LabelGenerator gen = new LabelGenerator(lastEntry.getValue(), numPages); while (gen.hasNext()) handler.newLabel(pageIndex, gen.next()); pageIndex++; LabelGenerator gen = new LabelGenerator(lastEntry.getValue(), doc.getNumberOfPages() - lastEntry.getKey()); while (gen.hasNext()) handler.newLabel(pageIndex, gen.next()); pageIndex++;
@Override public String next() { if (!hasNext()) { throw new NoSuchElementException(); } StringBuilder buf = new StringBuilder(); if (labelInfo.getPrefix() != null) { String label = labelInfo.getPrefix(); // there may be some labels with some null bytes at the end // which will lead to an incomplete output, see PDFBOX-1047 while (label.lastIndexOf(0) != -1) { label = label.substring(0, label.length()-1); } buf.append(label); } if (labelInfo.getStyle() != null) { buf.append(getNumber(labelInfo.getStart() + currentPage, labelInfo.getStyle())); } currentPage++; return buf.toString(); }
@Override public String next() { if (!hasNext()) { throw new NoSuchElementException(); } StringBuilder buf = new StringBuilder(); if (labelInfo.getPrefix() != null) { String label = labelInfo.getPrefix(); // there may be some labels with some null bytes at the end // which will lead to an incomplete output, see PDFBOX-1047 while (label.lastIndexOf(0) != -1) { label = label.substring(0, label.length()-1); } buf.append(label); } if (labelInfo.getStyle() != null) { buf.append(getNumber(labelInfo.getStart() + currentPage, labelInfo.getStyle())); } currentPage++; return buf.toString(); }
private String getNumber(int pageIndex, String style) { if (PDPageLabelRange.STYLE_DECIMAL.equals(style)) { return Integer.toString(pageIndex); } else if (PDPageLabelRange.STYLE_LETTERS_LOWER.equals(style)) { return makeLetterLabel(pageIndex); } else if (PDPageLabelRange.STYLE_LETTERS_UPPER.equals(style)) { return makeLetterLabel(pageIndex).toUpperCase(); } else if (PDPageLabelRange.STYLE_ROMAN_LOWER.equals(style)) { return makeRomanLabel(pageIndex); } else if (PDPageLabelRange.STYLE_ROMAN_UPPER.equals(style)) { return makeRomanLabel(pageIndex).toUpperCase(); } else { // Fall back to decimals. return Integer.toString(pageIndex); } }
private String getNumber(int pageIndex, String style) { if (style != null) { switch (style) { case PDPageLabelRange.STYLE_DECIMAL: return Integer.toString(pageIndex); case PDPageLabelRange.STYLE_LETTERS_LOWER: return makeLetterLabel(pageIndex); case PDPageLabelRange.STYLE_LETTERS_UPPER: return makeLetterLabel(pageIndex).toUpperCase(); case PDPageLabelRange.STYLE_ROMAN_LOWER: return makeRomanLabel(pageIndex); case PDPageLabelRange.STYLE_ROMAN_UPPER: return makeRomanLabel(pageIndex).toUpperCase(); default: break; } } // Fall back to decimals. return Integer.toString(pageIndex); }