Aspose.TeX's Output Interface | Python
Per le definizioni formali dell’implementazione I/O, fare riferimento al riferimento API di Aspose.TeX per Python.
L’idea alla base della directory di output
Aspose.TeX definisce una directory come una mappatura tra nomi e numeri di dati, in cui le buse dei dati possono essere file, flussi, array o altri tipi di dati. L’API consente la specifica di directory di lavoro input e output separate. Per l’output, l’API fornisce l’interfaccia generale IoutputWorkingDirectory, che può essere implementata dall’utente per le loro esigenze specifiche. Inoltre, l’API fornisce implementazioni pronte all’uso, che saranno discusse di seguito. L’interfaccia * IoutputWorkingDirectory * estende iInputWorkingDirectory, poiché il motore può prima creare e scrivere un file e quindi riatterlo. L’interfaccia include il metodo get_output_file(), che restituisce il flusso per scrivere, in contrasto con il metodo get_file(), che restituisce il flusso da leggere.
Salvare l’output come file nel file system disco
Come accennato sopra, la output_working_directory è comunemente impostata come istanza della classe outputfilesystemdirectory.
Ecco come lo imposteremmo:
1# Create conversion options instance.
2...
3# Specify a file system working directory for the output.
4options.output_working_directory = OutputFileSystemDirectory(Utils.output_directory)
Questo particolare caso d’uso è semplice, quindi non è necessario approfondire ulteriormente.
Salvare l’output come file di archivio zip.
Un’altra opzione è quella di creare un file o uno streaming e utilizzarlo come archivio zip per archiviare i file di output. Ecco un esempio:
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)
Per iniziare, creiamo un flusso di output per il file zip. Quindi, dopo aver creato le opzioni di conversione, impostiamo l’opzione * output_working_directory * per essere un’istanza della classe outputzipdirectory.
L’idea alla base del terminale di uscita
L’output del terminale è un altro aspetto importante dell’output. Per questo, Aspose.TeX per Python definisce l’interfaccia generale IoutPutterminal, che ha una singola proprietà che restituisce un’istanza dell’implementazione Terminalwriter. Le implementazioni disponibili saranno discusse di seguito.
Scrivere l’output del terminale sulla console
Per raggiungere questo obiettivo, dobbiamo impostare l’opzione terminale_out come istanza della classe outputConsoleterminal.
1# Create conversion options instance.
2...
3# Specify the console as the input terminal.
4options.terminal_out = OutputConsoleTerminal() # Default value. Arbitrary assignment.
Ancora una volta, questo è il valore predefinito dell’opzione, quindi non è necessario specificarlo. Pertanto, questa sezione è fornita esclusivamente a fini dimostrativi.
Scrivere l’output del terminale in un file
Contrariamente al terminale di input, Aspose.TeX per Python include un’implementazione dell’interfacciaIoutPutterminalche ci consente di scrivere l’output del terminale in un file all’interno di una directory di output specificata.
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)
In questo caso, istruiamo il motore TEX di scrivere l’output del terminale in un file denominato <job_name> .trm, che si troverà nella stessa directory di output del resto dell’output. Tuttavia, questo non è obbligatorio. Possiamo anche fornire qualsiasi altra istanza di un’implementazione di * Ioutputterminal * al costruttore.