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

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

Вы можете сохранить созданный или измененный PDF документ в файловую систему, используя метод Save класса Document. Если вы не указываете тип формата (опции), то документ сохраняется в формате Aspose.PDF v.1.7 (*.pdf).

package com.aspose.pdf.examples;


import java.io.FileOutputStream;

import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;

public final class BasicOperationsSave {

    private BasicOperationsSave() {
    }

    private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");

    public static void main(String[] args) {
        SaveDocument();
        SaveDocumentStream();
        SaveDocumentAsPDFx();
    }

    public static void SaveDocument() {
        String originalFileName = _dataDir + "/SimpleResume.pdf";
        String modifiedFileName = _dataDir + "/SimpleResumeModified.pdf";

        Document pdfDocument = new Document(originalFileName);
        // выполнить некоторые изменения, например, добавить новую пустую страницу
        pdfDocument.getPages().add();
        pdfDocument.save(modifiedFileName);
    }

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

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

public static void SaveDocumentStream() {
        String originalFileName = _dataDir + "/SimpleResume.pdf";
        String modifiedFileName = _dataDir + "/SimpleResumeModified.pdf";

        Document pdfDocument = new Document(originalFileName);
        // выполните некоторые манипуляции, например, добавьте новую пустую страницу
        pdfDocument.getPages().add();
        try {
            pdfDocument.save(new FileOutputStream(modifiedFileName));
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

    }

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

Для сохранения документов в веб-приложениях вы можете использовать предложенные выше способы. Кроме того, класс Document имеет перегруженный метод Save.

    // @RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
    // public void getFile(@PathVariable("file_name") String fileName, HttpServletResponse response) {
    //     try {
    //         response.setContentType("application/pdf");
    //         // получите ваш файл как InputStream
    //         InputStream is = new FileInputStream(_dataDir + fileName);
    //         // скопируйте его в OutputStream ответа
    //         org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
    //         response.flushBuffer();
    //     } catch (IOException ex) {
    //         log.info("Ошибка при записи файла в выходной поток. Имя файла было '{}'", fileName, ex);
    //         throw new RuntimeException("Ошибка ввода-вывода при записи файла в выходной поток");
    //     }
    // }

Для более детального объяснения, пожалуйста, перейдите в раздел Showcase.

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

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

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

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

public static void SaveDocumentAsPDFx() {
        Document pdfDocument = new Document("../../../Samples/SimpleResume.pdf");
        pdfDocument.getPages().add();
        pdfDocument.convert(new PdfFormatConversionOptions(PdfFormat.PDF_X_3));
        pdfDocument.save("../../../Samples/SimpleResume_X3.pdf");
    }

}