Interfaz de salida de Aspose.TeX | Pitón

Para obtener definiciones formales de la implementación de E/S, consulte la referencia de API de Aspose.TeX para Python.

La idea detrás del directorio de salida

Aspose.TeX define un directorio como un mapeo entre nombres y grandes cantidades de datos, donde las grandes cantidades de datos pueden ser archivos, secuencias, matrices u otros tipos de datos. La API permite la especificación de directorios de trabajo de entrada y salida separados. Para la salida, la API proporciona la interfaz general IOutputWorkingDirectory, que el usuario puede implementar para sus necesidades específicas. Además, la API proporciona implementaciones listas para usar, que se analizarán a continuación. La interfaz IOutputWorkingDirectory extiende IInputWorkingDirectory, ya que el motor puede primero crear y escribir un archivo y luego volver a leerlo. La interfaz incluye el método get_output_file(), que devuelve la secuencia para escribir, en contraste con el método get_file(), que devuelve la secuencia para leer.

Guardar la salida como un archivo en el sistema de archivos del disco

Como se mencionó arriba, el output_working_directory comúnmente se configura como una instancia de la clase OutputFileSystemDirectory.

Así es como lo configuraríamos:

1# Create conversion options instance.
2...
3# Specify a file system working directory for the output.
4options.output_working_directory = OutputFileSystemDirectory(Utils.output_directory)

Este caso de uso particular es sencillo, por lo que no es necesario profundizar más en él.

Guardar el resultado como un archivo ZIP.

Otra opción es crear un archivo o secuencia y usarlo como archivo ZIP para almacenar los archivos de salida. Aquí hay un ejemplo:

1# Open the stream for the ZIP archive that will serve as the output working directory.
2with open(path.join(Utils.output_directory, "zip-pdf-out.zip") as out_zip_stream:
3    # Create conversion options instance.
4    ...
5    # Specify a ZIP archive working directory for the output.
6    options.output_working_directory = OutputZipDirectory(out_zip_stream)

Para comenzar, creamos un flujo de salida para el archivo ZIP. Luego, después de crear las opciones de conversión, configuramos la opción output_working_directory para que sea una instancia de la clase OutputZipDirectory.

La idea detrás del terminal de salida.

La salida del terminal es otro aspecto importante de la salida. Para esto, Aspose.TeX para Python define la interfaz general IOutputTerminal, que tiene una única propiedad que devuelve una instancia de la implementación TerminalWriter. Las implementaciones disponibles se analizarán a continuación.

Escribir la salida del terminal en la consola

Para lograr esto, necesitamos configurar la opción terminal_out como una instancia de la clase OutputConsoleTerminal.

1# Create conversion options instance.
2...
3# Specify the console as the input terminal.
4options.terminal_out = OutputConsoleTerminal()  # Default value. Arbitrary assignment.

Una vez más, este es el valor predeterminado de la opción, por lo que no es necesario especificarlo. Por lo tanto, esta sección se proporciona únicamente con fines de demostración.

Escribir la salida del terminal en un archivo

A diferencia del terminal de entrada, Aspose.TeX para Python incluye una implementación de la interfaz IOutputTerminal que nos permite escribir la salida del terminal en un archivo dentro de un directorio de salida específico.

1# Create conversion options instance.
2...
3# Specify that the terminal output must be written to a file in the output working directory.
4# The file name is <job_name>.trm.
5options.terminal_out = OutputFileTerminal(options.output_working_directory)

En este caso, le indicamos al motor TeX que escriba la salida del terminal en un archivo llamado <nombre_trabajo>.trm, que se ubicará en el mismo directorio de salida que el resto de la salida. Sin embargo, esto no es obligatorio. También podemos proporcionar cualquier otra instancia de una implementación de IOutputTerminal al constructor.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.