Desativar Compressão de Arquivos ao Adicionar como Recursos Incorporados

Contents
[ ]

A classe FileSpecification permite que os desenvolvedores adicionem anexos a documentos PDF. Por padrão, os anexos são comprimidos. Atualizamos a API para permitir que os desenvolvedores desativem a compressão ao adicionar arquivos como recurso incorporado. Isso dá aos desenvolvedores mais controle sobre como os arquivos são processados.

Para permitir que os desenvolvedores controlem a compressão de arquivos, o método setEncoding(..) foi adicionado à classe FileSpecification. Esta propriedade determina qual codificação será usada para a compressão de arquivos. O método aceita um valor do enumerador FileEncoding. Os valores possíveis são FileEncoding.None e FileEncoding.Zip.

Se a Codificação estiver definida como FileEncoding.None, o anexo não será comprimido. A codificação padrão é FileEncoding.Zip.

O trecho de código a seguir mostra como adicionar um anexo a um documento PDF.

    public static void DisableFilesCompressionWhenAddingAsEmbeddedResources() throws IOException{
  // obter referência do arquivo de origem/entrada
  java.nio.file.Path path = java.nio.file.Paths.get(_dataDir+"input.pdf");
  // ler todo o conteúdo do arquivo de origem em ByteArray
  byte[] data = java.nio.file.Files.readAllBytes(path);
  // criar uma instância do objeto Stream a partir do conteúdo do ByteArray
  InputStream is = new ByteArrayInputStream(data);
  // Instanciar objeto Document a partir da instância do stream
  Document pdfDocument = new Document(is);
  // configurar novo arquivo a ser adicionado como anexo
  FileSpecification fileSpecification = new FileSpecification("test.txt", "Arquivo de texto de exemplo");
  // Especificar a propriedade Encoding definindo-a como FileEncoding.None
  fileSpecification.setEncoding(FileEncoding.None);
  // adicionar anexo à coleção de anexos do documento
  pdfDocument.getEmbeddedFiles().add(fileSpecification);
  // salvar nova saída
  pdfDocument.save("output.pdf");
    }