Setzen Sie TeX mit ZIP I/O

Konvertieren Sie TeX in PDF mit ZIP-Archiven als Ein- und Ausgabe. API für C++

 

Die TeX-Sprache ist ein Satzwerkzeug, mit dem Sie professionelle Dokumente erstellen können, ohne sich um die Formatierung kümmern zu müssen. Aspose.TeX bietet Ihnen eine API-Lösung für C++, die eine flexible und einfach zu verwendende Bibliothek zum Setzen von TeX- und LaTeX-Dateien ist.

TeX ist ein leistungsstarkes, fortschrittliches System, aber sein natives Format wird außerhalb von akademischen und wissenschaftlichen Kreisen nicht weit verbreitet. PDF hingegen ist ein portables Format, das auf den meisten Geräten problemlos angezeigt werden kann und eine breitere Akzeptanz findet. Die Fähigkeit, PDF zu lesen, ist auf jedem Gerät in den meisten modernen Browsern vorhanden. Das Konvertieren von TeX in PDF ermöglicht die gemeinsame Nutzung der Dokumente mit einem größeren Publikum und bietet ein zugänglicheres Format für diejenigen ohne spezialisierte Software. Darüber hinaus bietet PDF mehrere Vorteile gegenüber TeX, wie z. B. eine bessere Wiedergabe von Schriftarten, Unterstützung für Interaktivität und eine einfachere Verwaltung von Seitengröße und -layout.

Die API ermöglicht die Trennung von Eingabe- und Ausgabeverzeichnissen und bietet die IOutputWorkingDirectory-Schnittstelle zur Benutzeranpassung der Ausgabe. Es hat seine eigenen Implementierungen. Diese Schnittstelle erweitert IInputWorkingDirectory, da die Engine möglicherweise vor dem Lesen in eine Datei schreiben muss. Die Methode GetOutputFile() der Schnittstelle gibt den Stream zum Schreiben statt des von GetFile() bereitgestellten Lesestreams zurück.

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Im folgenden Code legen wir die Eingabedateien in ein ZIP-Archiv und betrachten es als Eingabeverzeichnis und erstellen eine Datei (oder einen Stream) und lassen die TeX-Engine sie als ZIP-Archiv verwenden, um die Ausgabedateien zu speichern. Befolgen Sie die Richtlinie:

  1. Öffnen Sie einen Stream in einem ZIP-Archiv, das als Eingabe-Arbeitsverzeichnis dient.
  2. Erstellen Sie Satzoptionen für das standardmäßige ObjectTeX-Format in der ObjectTeX-Engine-Erweiterung.
  3. Geben Sie ein ZIP-Archiv-Arbeitsverzeichnis für Eingabe und Ausgabe an, indem Sie InputZipDirectory und OutputZipDirectory Klassen.
  4. Geben Sie die Konsole als Ausgabeterminal an.
  5. Verwenden Sie die Klasse PdfSaveOptions zum Erstellen und Festlegen von Speicheroptionen.
  6. Führen Sie die Konvertierung aus.
  7. Verfeinern Sie die Ausgabe.
  8. Schließen Sie das ausgegebene ZIP-Archiv ab.

C++-Code zum Konvertieren von TeX in PDF mit ZIP-Eingabe und -Ausgabe

using Aspose::TeX::IO;
using Aspose::TeX::Presentation::Pdf;
// 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 the '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 the 'using' statement
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    try
    {
        // Create typesetting options for the default Object TeX format on the Object TeX 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 console as output terminal.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());

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

        // 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. Kann ich TeX-Dokumente mit einer ZIP-Datei als Eingabe formatieren?

Aspose.TeX unterstützt das Lesen von TeX-Quelldateien aus komprimierten Archiven wie ZIP-Dateien. Sie können alle erforderlichen Dateien, einschließlich TeX-Quelldateien, Bilder und zusätzliche Ressourcen, in ein ZIP-Archiv aufnehmen und dann die ZIP-Datei als Eingabe für den LaTeX-Compiler angeben. Dies ermöglicht eine bequeme Organisation und Verteilung von LaTeX-Projekten, insbesondere beim Umgang mit großen oder komplexen Dokumenten mit mehreren Abhängigkeiten.

2. Gibt es Vorteile bei der Verwendung von ZIP-Dateien für den Satz von TeX-Dokumenten?

Ja, die Verwendung von ZIP-Dateien zum Setzen von TeX-Dokumenten bietet mehrere Vorteile. Erstens bieten ZIP-Dateien eine bequeme Möglichkeit, mehrere mit einem LaTeX-Projekt verknüpfte Dateien, einschließlich TeX-Quelldateien, Bibliografien, Bilder und Stildateien, in einem einzigen komprimierten Archiv zu packen und zu organisieren. Dies vereinfacht die Verteilung und gemeinsame Nutzung von LaTeX-Dokumenten, insbesondere bei der Zusammenarbeit mit anderen oder der Online-Freigabe von Projekten.

3. Wie setze ich TeX-Dateien?

Um TeX-Dateien mit der Aspose.TeX-API-Lösung zu formatieren, müssen Sie Konvertierungsoptionen für das Object TeX- oder Object LaTeX-Format basierend auf der Object TeX-Engine-Erweiterung erstellen. Geben Sie dann ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an. Erstellen Sie abschließend eine Instanz der Klasse TeXJob und führen Sie den Schriftsatzprozess mit der Methode TeXJob.Run() aus.

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.