Desactivar la Compresión de Archivos al Añadir como Recursos Integrados
La clase FileSpecification permite a los desarrolladores añadir archivos adjuntos a documentos PDF. Por defecto, los archivos adjuntos están comprimidos. Hemos actualizado la API para permitir a los desarrolladores desactivar la compresión al añadir archivos como recursos integrados. Esto brinda a los desarrolladores más control sobre cómo se procesan los archivos.
Para permitir a los desarrolladores controlar la compresión de archivos, se ha añadido el método setEncoding(..) a la clase FileSpecification. Esta propiedad determina qué codificación se utilizará para la compresión de archivos. El método acepta un valor del enumerador FileEncoding. Los valores posibles son FileEncoding.None y FileEncoding.Zip.
Si la codificación está configurada como FileEncoding.None, entonces el archivo adjunto no se comprime. La codificación predeterminada es FileEncoding.Zip.
El siguiente fragmento de código muestra cómo agregar un archivo adjunto a un documento PDF.
public static void DisableFilesCompressionWhenAddingAsEmbeddedResources() throws IOException{
// obtener referencia del archivo fuente/entrada
java.nio.file.Path path = java.nio.file.Paths.get(_dataDir+"input.pdf");
// leer todos los contenidos del archivo fuente en ByteArray
byte[] data = java.nio.file.Files.readAllBytes(path);
// crear una instancia del objeto Stream a partir del contenido de ByteArray
InputStream is = new ByteArrayInputStream(data);
// Instanciar objeto Document a partir de la instancia de stream
Document pdfDocument = new Document(is);
// configurar nuevo archivo para ser agregado como adjunto
FileSpecification fileSpecification = new FileSpecification("test.txt", "Archivo de texto de muestra");
// Especificar la propiedad Encoding configurándola a FileEncoding.None
fileSpecification.setEncoding(FileEncoding.None);
// agregar adjunto a la colección de adjuntos del documento
pdfDocument.getEmbeddedFiles().add(fileSpecification);
// guardar nuevo resultado
pdfDocument.save("output.pdf");
}