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



FAQ

1. Wie kann ich die TeX-Ausgabe anzeigen?

Um eine TeX-Datei zu öffnen, damit das Ergebnis des Schriftsatzes angezeigt werden kann, verwenden Sie den plattformübergreifenden TeX Viewer . Außerdem können Sie die Datei als Bilder speichern.

2. Kann ich TeX-Ausgaben in ein ZIP-Archiv schreiben?

Ja, diese API-Lösung bietet diese Funktionalität. Sie benötigen die Klasse OutputZipDirectory, die eine Methode zum Abrufen eines Dateistreams zum Schreiben implementiert, wenn das Arbeitsverzeichnis ein ZIP-Archiv ist.

3. Wie schreibe ich die TeX-Ausgabe in ein ZIP-Archiv?

Erstellen Sie eine Instanz der TeXOptions-Klasse. Geben Sie dann ein ZIP-Archiv-Arbeitsverzeichnis für die Ausgabe an. Legen Sie die Speicheroptionen fest und führen Sie die Konvertierung durch. Schließen Sie abschließend das Schreiben der Ausgabe in ein ZIP-Archiv ab, indem Sie die Methode Finish() aufrufen.

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.