Сохранить PDF‑документ программно

Сохранение PDF-документ в файловую систему

Вы можете сохранить созданный или обработанный PDF-документ в файловую систему, используя save() метод Document класс.

import aspose.pdf as ap

def save_document_to_file(infile, outfile):
    document = ap.Document(infile)
    # make some manipulation, e.g. add new empty page
    document.pages.add()
    document.save(outfile)

Сохранение PDF-документ в поток

Вы также можете сохранить созданный или изменённый PDF‑документ в поток, используя перегрузки Save методы.

import aspose.pdf as ap
import io

def save_document_to_stream(infile, outfile):
    document = ap.Document(infile)
    # make some manipulation, e.g. add new empty page
    document.pages.add()
    with io.FileIO(outfile, 'w') as stream:
        document.save(stream)

Сохранение формат PDF/A или PDF/X

Вы можете легко сохранить документ в конкретной версии PDF, например PDF/A или PDF/X. В этом случае нам нужно вызвать метод convert перед сохранением документа.

PDF/A — это версия Portable Document Format (PDF), стандартизированная ISO, предназначенная для архивирования и длительного сохранения электронных документов. PDF/A отличается от PDF тем, что запрещает функции, не подходящие для длительного архивирования, такие как связывание шрифтов (в отличие от встраивания шрифтов) и шифрование. Требования ISO к просмотрщикам PDF/A включают руководства по управлению цветом, поддержку встраиваемых шрифтов и пользовательский интерфейс для чтения встроенных аннотаций.

PDF/X является подмножеством стандарта PDF ISO. Цель PDF/X — облегчить обмен графикой, поэтому у него есть ряд требований, связанных с печатью, которые не применяются к стандартным PDF‑файлам.

В обоих случаях, save() метод используется для хранения документов, в то время как документы должны быть подготовлены с использованием convert метод.

import aspose.pdf as ap
import io


def save_document_as_standard(infile, outfile, logfile):
    document = ap.Document(infile)
    document.pages.add()
    document.convert(logfile, ap.PdfFormat.PDF_X_3, ap.ConvertErrorAction.DELETE)
    document.save(outfile)