Scrivi l’output su ZIP

Salva il risultato della conversione del file TeX come ZIP tramite C++

 

TeX è un linguaggio di markup dei dati e il nucleo del sistema di composizione del computer noto anche come sistema di set di pubblicazioni. Sebbene sia spesso indicato come un formato di file, in realtà è un linguaggio di programmazione e un motore di interprete utilizzato per creare documenti matematici, tecnici e altri documenti complessi. Tuttavia, una volta creato un file, potrebbe essere necessario convertirlo in un formato più popolare per poter utilizzare il risultato su qualsiasi dispositivo e piattaforma.

Aspose.TeX API Solution offre una funzionalità per convertire i file TeX e salvare il risultato come archivio ZIP. Il frammento di codice fornito qui mostra come convertire un file TeX in PDF e salvare l’output come file zip. Il convertitore API può trasformare i file TeX in linguaggio C++ e può essere utilizzato per creare un’applicazione multipiattaforma o essere integrato nel tuo progetto C++.

Per eseguire gli esempi, avrai bisogno dell’API Aspose.TeX per C++, uno strumento di manipolazione e conversione dei documenti ricco di funzionalità e facile da usare per la piattaforma C++. È possibile installare l’API Aspose.TeX cercandola nel gestore pacchetti NuGet o utilizzando il comando Install-Package Aspose.TeX nella console di Gestione pacchetti.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

Il codice qui sta convertendo un file TeX e salvandolo come PDF in un archivio ZIP. Eseguire i passaggi successivi per elaborare tale conversione:

  1. Crea un’istanza della classe TeXOptions . Utilizzalo per specificare una directory di lavoro dell’archivio ZIP per l’output utilizzando la proprietà OutputWorkingDirectory.
  2. Specificare la console come terminale di output utilizzando la classe OutputConsoleTerminal .
  3. Definisci le opzioni per il salvataggio dell’output utilizzando la classe PdfSaveOptions .
  4. Esegui la conversione da TeX a PDF utilizzando il metodo TeXJob() per PdfDevice.
  5. Perfeziona l’output.
  6. Completa l’archivio ZIP di output utilizzando la classe OutputZipDirectory . Il codice utilizza un blocco try-catch per gestire eventuali eccezioni che possono verificarsi durante il processo.

Codice C++ per l'utilizzo delle directory ZIP per l'output

    using Aspose::TeX::IO;
    using Aspose::TeX::Presentation::Pdf;
    using System::IO;
    // Open a stream on a ZIP archive that will serve as the input working directory.
    {
        System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
        // Clearing resources under 'using' statement
        System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream});
        // ------------------------------------------

        try{
            System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
            // Clearing resources under 'using' statement
            System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
            // ------------------------------------------

            try
            {
                // Create typesetting options for default ObjectTeX format on ObjectTeX engine extension.
                System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
                // Specify a ZIP archive working directory for the input.
                options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
                // Specify a ZIP archive working directory for the output.
                options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
                // Specify the console as an output terminal.
                options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
                // Default. Not necessary to specify.

                // Create and specify saving options.
                options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
                // Run typesetting.
                Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

                // For the consequent output to look right. 
                options->get_TerminalOut()->get_Writer()->WriteLine();

                // Finalize the output ZIP archive.
                (System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
            }
            catch(...)
            {
                __dispose_guard_0.SetCurrentException(std::current_exception());
            }
        }
        catch(...)
        {
            __dispose_guard_1.SetCurrentException(std::current_exception());
        }
    }



Domande frequenti

1. Come visualizzare l’output TeX?

Per aprire e visualizzare il contenuto del file TeX online, utilizzare il multipiattaforma Visualizzatore TeX . Ti consentirà anche di salvare il file come immagine.

2. Posso scrivere l’output TeX in un archivio ZIP?

Sì, questa soluzione API supporta tali funzionalità. Avrai bisogno di OutputZipDirectoryClass che implementa il metodo per ottenere un flusso di file su cui scrivere quando la directory di lavoro è un archivio ZIP.

3. Come scrivere l’output TeX in un archivio ZIP?

Crea l’istanza della classe TeXOptions. Quindi specificare una directory di lavoro dell’archivio ZIP per l’output e la console come terminale di output. Specifica le opzioni di salvataggio ed esegui la conversione. Infine, scrivi l’output in ZIP utilizzando la classe OutputZipDirectory.

TeX Cos'è il formato file TeX

TeX non è in realtà un formato. È allo stesso tempo un linguaggio di programmazione e anche un motore di interprete che comprende questo linguaggio. Un file TeX è un documento creato in LaTeX. Questo documento può includere grafici, tabelle, simboli, elenchi, formule ed equazioni.