Interface de sortie d'Aspose.TeX | Python

Pour les définitions formelles de l’implémentation des E/S, veuillez vous référer à la référence API de Aspose.TeX pour Python.

L’idée derrière le répertoire de sortie

Aspose.TeX définit un répertoire comme un mappage entre des noms et des blocs de données, où les blocs de données peuvent être des fichiers, des flux, des tableaux ou d’autres types de données. L’API permet de spécifier des répertoires de travail d’entrée et de sortie distincts. Pour la sortie, l’API fournit l’interface générale IOutputWorkingDirectory, qui peut être implémentée par l’utilisateur pour ses besoins spécifiques. De plus, l’API fournit des implémentations prêtes à l’emploi, qui seront abordées ci-dessous. L’interface IOutputWorkingDirectory étend IInputWorkingDirectory, car le moteur peut d’abord créer et écrire un fichier, puis le relire. L’interface inclut la méthode get_output_file(), qui renvoie le flux dans lequel écrire, contrairement à la méthode get_file(), qui renvoie le flux à partir duquel lire.

Enregistrement de la sortie sous forme de fichier dans le système de fichiers du disque

Comme mentionné ci-dessus, le output_working_directory est généralement défini comme une instance de la classe OutputFileSystemDirectory.

Voici comment nous le définirions :

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

Ce cas d’utilisation particulier est simple, il n’est donc pas nécessaire de l’approfondir davantage.

Enregistrement de la sortie sous forme de fichier d’archive ZIP.

Une autre option consiste à créer un fichier ou un flux et à l’utiliser comme archive ZIP pour stocker les fichiers de sortie. Voici un exemple :

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)

Pour commencer, nous créons un flux de sortie pour le fichier ZIP. Ensuite, après avoir créé les options de conversion, nous définissons l’option output_working_directory comme étant une instance de la classe OutputZipDirectory.

L’idée derrière le terminal de sortie

La sortie du terminal est un autre aspect important de la sortie. Pour cela, Aspose.TeX pour Python définit l’interface générale IOutputTerminal, qui possède une seule propriété qui renvoie une instance de l’implémentation de TerminalWriter. Les implémentations disponibles seront discutées ci-dessous.

Écrire la sortie du terminal sur la console

Pour y parvenir, nous devons définir l’option terminal_out comme instance de la classe OutputConsoleTerminal.

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

Encore une fois, il s’agit de la valeur par défaut de l’option, il n’est donc pas vraiment nécessaire de la spécifier. Par conséquent, cette section est fournie uniquement à des fins de démonstration.

Écrire la sortie du terminal dans un fichier

Contrairement au terminal d’entrée, Aspose.TeX pour Python inclut une implémentation de l’interface IOutputTerminal qui nous permet d’écrire la sortie du terminal dans un fichier dans un répertoire de sortie spécifié.

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)

Dans ce cas, nous demandons au moteur TeX d’écrire la sortie du terminal dans un fichier nommé <job_name>.trm, qui sera situé dans le même répertoire de sortie que le reste de la sortie. Toutefois, cela n’est pas obligatoire. Nous pouvons également fournir toute autre instance d’implémentation de IOutputTerminal au constructeur.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.