Переместить страницы PDF в Python
Перемещение страницы из одного PDF‑документа в другой
Aspose.PDF for Python позволяет переместить страницу (а не только скопировать её) из одного PDF в другой. Она удаляет выбранную страницу из оригинального документа, а затем добавляет её в новый PDF‑файл.
Можно представить это как вырезание страницы из одной книги и приклеивание её в другую — страница больше не существует в оригинальном файле после перемещения.
- Откройте исходный PDF‑документ, используя
Documentкласс. - Выберите конкретную страницу для перемещения (в данном случае, страница 2) — это относится к
Page. - Создайте новый PDF‑документ (создайте еще один
Document). - Добавьте выбранную страницу в новый PDF‑документ, используя документ‑назначения
PageCollection(например,another_document.pages.add(page)). - Удалите страницу из исходного документа через его
PageCollection(например,document.pages.delete(index)). - Сохраните оба документа.
Следующий фрагмент кода показывает, как переместить одну страницу.
import aspose.pdf as ap
def move_page_from_one_document_to_another(
input_file_name: str, output_file_name: str
) -> None:
document = ap.Document(input_file_name)
page = document.pages[2]
another_document = ap.Document()
another_document.pages.add(page)
document.pages.delete(2)
document.save(input_file_name.replace(".pdf", "_new.pdf"))
another_document.save(output_file_name)
Перемещение нескольких страниц из одного PDF‑документа в другой
В отличие от копирования, эта операция перемещает выбранные страницы — удаляя их из исходного файла и сохраняя в новом PDF.
- Создайте новый, пустой документ назначения (
Document). - Выберите несколько страниц (в данном случае страницы 1 и 3) из исходного документа
PageCollection. - Пройдитесь по выбранным страницам и добавьте каждую в документ назначения
PageCollection. - Сохраните целевой документ, содержащий перемещённые страницы.
- Удалите перемещённые страницы из исходного документа, используя его
PageCollection. - Сохраните изменённый исходный документ под новым именем файла, чтобы сохранить обе версии.
Следующий фрагмент кода показывает, как переместить несколько страниц.
import aspose.pdf as ap
def move_multiple_pages_from_one_document_to_another(
input_file_name: str, output_file_name: str
) -> None:
src_document = ap.Document(input_file_name)
dst_document = ap.Document()
pages = [1, 2]
for page_index in pages:
page = src_document.pages[page_index]
dst_document.pages.add(page)
# Save output files
dst_document.save(output_file_name)
src_document.pages.delete(pages)
src_document.save(input_file_name.replace(".pdf", "_new.pdf"))
Перемещение страницы в новое место в том же PDF-документе
Показано, как переместить определённую страницу в другое положение внутри того же документа — распространённая необходимость при реорганизации или редактировании макетов PDF.
- Загрузите входной документ PDF, используя
Documentкласс. - Выберите страницу, которую хотите переместить (страница 2) — это
Page. - Добавьте её в конец документа, используя
PageCollection. - Удалите оригинальную страницу из её предыдущего местоположения через
PageCollection. - Сохраните изменённый документ как новый файл.
import aspose.pdf as ap
def move_page_in_new_location_in_same_document(
input_file_name: str, output_file_name: str
) -> None:
src_document = ap.Document(input_file_name)
page = src_document.pages[2]
src_document.pages.add(page)
src_document.pages.delete(2)
# Save output file
src_document.save(output_file_name)