Перемещение страниц PDF в Java

Aspose.PDF for Java позволяет перемещать страницы между документами или менять порядок страниц внутри того же PDF.

Перемещение страницы в другой документ

Используйте этот пример, когда одну страницу следует удалить из исходного PDF и сохранить в отдельный документ.

  1. Откройте исходный PDF в объекте Document и создайте целевой документ.
  2. Добавьте нужную страницу в целевой документ и удалите её из исходного.
  3. Сохраните оба документа.
public static void movePageFromOneDocumentToAnother(Path inputFile, Path sourceOutputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString());
         Document anotherDocument = new Document()) {
        anotherDocument.getPages().add(document.getPages().get_Item(2));
        document.getPages().delete(2);
        document.save(sourceOutputFile.toString());
        anotherDocument.save(outputFile.toString());
    }
}

Перемещение нескольких страниц в другой документ

Используйте этот пример, когда несколько страниц должны быть перенесены из исходного PDF в новый документ.

  1. Откройте исходный PDF в объекте Document и создайте целевой документ.
  2. Скопируйте выбранные страницы в целевой документ.
  3. Удалите перемещённые страницы из исходного документа и сохраните оба файла.
public static void moveBunchPagesFromOneDocumentToAnother(Path inputFile, Path sourceOutputFile, Path outputFile) {
    try (Document srcDocument = new Document(inputFile.toString());
         Document dstDocument = new Document()) {
        Integer[] pages = {1, 2};
        for (Integer pageIndex : pages) {
            dstDocument.getPages().add(srcDocument.getPages().get_Item(pageIndex));
        }
        dstDocument.save(outputFile.toString());
        srcDocument.getPages().delete(pages);
        srcDocument.save(sourceOutputFile.toString());
    }
}

Перемещение страницы внутри того же документа

Используйте этот пример, когда страницу нужно переместить в новое место в том же PDF.

  1. Откройте исходный PDF в объекте Document.
  2. Дублируйте целевую страницу в новое положение и удалите исходный элемент страницы.
  3. Сохраните переупорядоченный документ.
public static void movePageInNewLocationInSameDocument(Path inputFile, Path outputFile) {
    try (Document srcDocument = new Document(inputFile.toString())) {
        srcDocument.getPages().add(srcDocument.getPages().get_Item(2));
        srcDocument.getPages().delete(2);
        srcDocument.save(outputFile.toString());
    }
}