Ausgabe in ZIP schreiben

Speichern Sie das Ergebnis der TeX-Dateikonvertierung als ZIP über C++

 

TeX ist eine Datenauszeichnungssprache und der Kern des Computersatzsystems, das auch als Publikationssatzsystem bekannt ist. Obwohl es oft als Dateiformat bezeichnet wird, ist es eigentlich eine Programmiersprache und eine Interpreter-Engine, die verwendet wird, um mathematische, technische und andere komplexe Dokumente zu erstellen. Sobald eine Datei jedoch erstellt wurde, kann es erforderlich sein, sie in ein gängigeres Format zu konvertieren, um das Ergebnis auf jedem Gerät und jeder Plattform verwenden zu können.

Aspose.TeX API Solution bietet eine Funktion zum Konvertieren von TeX-Dateien und Speichern des Ergebnisses als ZIP-Archiv. Das hier bereitgestellte Code-Snippet zeigt, wie man eine TeX-Datei in PDF konvertiert und die Ausgabe als ZIP-Datei speichert. Der API-Konverter kann TeX-Dateien in die Sprache C++ umwandeln und zum Erstellen einer plattformübergreifenden Anwendung verwendet oder in Ihr C++-Projekt integriert werden.

Um die Beispiele auszuführen, benötigen Sie die Aspose.TeX for C++ API, ein funktionsreiches und benutzerfreundliches Tool zur Dokumentbearbeitung und -konvertierung für die C++-Plattform. Sie können die Aspose.TeX-API installieren, indem Sie im NuGet-Paket-Manager danach suchen oder den Befehl „Install-Package Aspose.TeX“ in der Paket-Manager-Konsole verwenden.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

Der Code hier konvertiert eine TeX-Datei und speichert sie als PDF in einem ZIP-Archiv. Führen Sie die nächsten Schritte aus, um eine solche Konvertierung zu verarbeiten:

  1. Erstellen Sie eine Instanz der Klasse [TeXOptions]( https://reference.aspose.com/tex/cpp/aspose.tex/texoptions/ . Verwenden Sie es, um mit der Eigenschaft OutputWorkingDirectory ein ZIP-Archiv-Arbeitsverzeichnis für die Ausgabe anzugeben.
  2. Geben Sie die Konsole mithilfe der Klasse OutputConsoleTerminal als Ausgabeterminal an.
  3. Definieren Sie die Optionen zum Speichern der Ausgabe mithilfe der Klasse PdfSaveOptions .
  4. Führen Sie die Konvertierung von TeX in PDF mit der Methode TeXJob für PdfDevice aus.
  5. Verfeinern Sie die Ausgabe.
  6. Schließen Sie das Ausgabe-ZIP-Archiv mit der Klasse OutputZipDirectory ab. Der Code verwendet einen Try-Catch-Block, um alle Ausnahmen zu behandeln, die während des Prozesses auftreten können.

C++-Code zur Verwendung von ZIP-Verzeichnissen für die Ausgabe

    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());
        }
    }

TeX Was ist TeX Dateiformat

TeX ist eigentlich kein Format. Es ist gleichzeitig eine Programmiersprache und auch eine Interpreter-Engine, die diese Sprache versteht. Eine TeX-Datei ist ein in LaTeX erstelltes Dokument. Dieses Dokument kann Grafiken, Tabellen, Symbole, Listen, Formeln und Gleichungen enthalten.