Aspose.TeX's Output Interface | .NET

Si prega di fare riferimento a Aspose.TeX per .net riferimento API per definizioni formali di implementazione I/O.

Il concetto della directory di output

Poiché i primitivi I/O della lingua tex possono solo affrontare i nomi dei file, Aspose.Tex definisce una directory come una mappatura tra nomi e numeri di dati. I BUSI DEI DATI dovrebbero essere file, flussi, array o qualsiasi altra cosa. L’API ci consente di specificare separatamente le directory di lavoro input e output. Fornisce l’interfaccia generale IoutputworkingDirectory per l’output, che l’utente può implementare per i propri scopi. Fornisce inoltre le proprie implementazioni, che saranno discusse di seguito. L’interfaccia estende IinputWorkingDirectory, poiché il motore può prima creare e scrivere un file, quindi riatterlo. Il metodo dell’interfaccia getOutputFile() restituisce il flusso in cui scrivere, al contrario del flusso per leggere restituito da getFile().

Scrivere l’output di file sul file system disco

Come accennato sopra, il valore più comune per la outputDirectory sarebbe probabilmente un’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.OutputWorkingDirectory = new OutputFileSystemDirectory(RunExamples.OutputDirectory);

Questo caso d’uso è abbastanza semplice, quindi non c’è più bisogno di concentrarsi su di esso.

Scrivere l’output di file in un archivio zip

Possiamo anche creare un file (o streaming) e lasciare che il motore TEX lo utilizzi come archivio zip per archiviare i file di output. Ecco qui:

1// Open the stream for the ZIP archive that will serve as the output working directory.
2using (Stream outZipStream = File.Open(Path.Combine(RunExamples.OutputDirectory, "zip-pdf-out.zip"), FileMode.Create))
3{
4    // Create conversion options instance.
5    ...
6    // Specify a ZIP archive working directory for the output.
7    options.OutputWorkingDirectory = new OutputZipDirectory(outZipStream);
8}

Innanzitutto, creiamo un flusso di output per il file zip. Quindi, dopo aver creato le opzioni di conversione, impostiamo l’opzione OutputWorkingDirectory per essere un’istanza della classe OutputzipDirectory.

Il concetto del terminale di output

C’è un’altra parte importante dell’uscita — l’output del terminale. Per quanto riguarda questo, Aspose.TeX per .NET definisce l’interfaccia generale IoutPutterminal con una sola proprietà che restituisce un’istanza di implementazione Textwriter. Le implementazioni a condizione che siano discusse di seguito.

Scrivere l’output del terminale sulla console

Per fare ciò, dobbiamo impostare l’opzione terminale per essere un’istanza della classe outputConsoleterminal.

1// Create conversion options instance.
2...
3// Specify the console as the input terminal.
4options.TerminalOut = new OutputConsoleTerminal(); // Default value. Arbitrary assignment.

Ancora una volta, questo è il valore predefinito dell’opzione, quindi non è necessario specificarlo. Per questo motivo, questa sezione ha solo scopi dimostrativi.

Scrivere l’output del terminale in un file

A differenza del terminale di input, Aspose.TeX per .NET fornisce un’implementazione di IoutPutterminal, che ci consente di scrivere l’output del terminale in un file in una directory di output.

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.TerminalOut = new OutputFileTerminal(options.OutputWorkingDirectory);

Qui chiediamo al motore TEX di scrivere l’output del terminale nel file con il nome <Bob_name> .TRM, che verrà archiviato nella stessa directory di output che abbiamo specificato per il resto dell’output. Ma questo non è necessario. Potremmo anche passare qualsiasi altra istanza di qualsiasi implementazione di IoutPutterminal al costruttore.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.