Salvar Documento PDF

Salvar documento PDF no sistema de arquivos

Você pode salvar o documento PDF criado ou manipulado no sistema de arquivos usando o método Save da classe Document. Quando você não fornece o tipo de formato (opções), o documento é salvo no formato 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);
        // fazer alguma manipulação, por exemplo, adicionar nova página vazia
        pdfDocument.getPages().add();
        pdfDocument.save(modifiedFileName);
    }

Salvar documento PDF para stream

Você também pode salvar o documento PDF criado ou manipulado para stream usando sobrecargas dos métodos Save.

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

        Document pdfDocument = new Document(originalFileName);
        // faça alguma manipulação, por exemplo, adicionar uma nova página vazia
        pdfDocument.getPages().add();
        try {
            pdfDocument.save(new FileOutputStream(modifiedFileName));
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

    }

Salvar documento PDF em aplicações Web

Para salvar documentos em aplicações Web, você pode usar as maneiras propostas acima. Além disso, a classe Document tem um método sobrecarregado Save.

    // @RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
    // public void getFile(@PathVariable("file_name") String fileName, HttpServletResponse response) {
    //     try {
    //         response.setContentType("application/pdf");
    //         // obtenha seu arquivo como InputStream
    //         InputStream is = new FileInputStream(_dataDir + fileName);
    //         // copie-o para o OutputStream da resposta
    //         org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
    //         response.flushBuffer();
    //     } catch (IOException ex) {
    //         log.info("Erro ao escrever o arquivo no stream de saída. O nome do arquivo era '{}'", fileName, ex);
    //         throw new RuntimeException("Erro de E/S ao escrever o arquivo no stream de saída");
    //     }
    // }

Para uma explicação mais detalhada, siga para a seção Showcase.

Salvar no formato PDF/A ou PDF/X

O PDF/A é uma versão do Formato de Documento Portátil (PDF) padronizada pela ISO para uso em arquivamento e preservação a longo prazo de documentos eletrônicos. O PDF/A difere do PDF em que proíbe recursos não adequados para arquivamento a longo prazo, como vinculação de fontes (em oposição à incorporação de fontes) e criptografia. Os requisitos ISO para visualizadores de PDF/A incluem diretrizes de gestão de cores, suporte a fontes incorporadas e uma interface de usuário para leitura de anotações incorporadas.

O PDF/X é um subconjunto do padrão ISO para PDF. O propósito do PDF/X é facilitar a troca de gráficos, e por isso tem uma série de requisitos relacionados à impressão que não se aplicam aos arquivos PDF padrão.

Em ambos os casos, o método Save é usado para armazenar os documentos, enquanto os documentos devem ser preparados usando o método 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");
    }

}