TeX-Satz mit ZIP-E/A

Konvertieren Sie TeX in PDF unter Verwendung von ZIP-Archiven als Eingabe und Ausgabe. API für C++

 

Die Sprache TeX ist ein Satzwerkzeug, mit dem Sie professionelle Dokumente erstellen können, ohne sich um die Formatierung kümmern zu müssen. Mit TeX geben Sie einfachen Text ein, der Textfragmente eines Dokuments zusammen mit Befehlen enthält, die die Ausgabe steuern. Am Ausgang erhalten Sie eine formatierte Datei im gewünschten (festgelegten) Format. Weitere Informationen zur TeX-Eingabe und -Ausgabe finden Sie in der TeX- Dokumentation .

TeX ist zwar ein leistungsstarkes, fortschrittliches System, wird aber außerhalb akademischer und wissenschaftlicher Kreise nicht häufig verwendet. PDF hingegen ist ein portables Format, das auf den meisten Geräten problemlos angezeigt werden kann und weithin akzeptiert wird. Die Fähigkeit, PDF zu lesen, ist auf jedem Gerät und in den meisten modernen Browsern vorhanden. Die Konvertierung von TeX in PDF ermöglicht es, die Dokumente mit einem breiteren Publikum zu teilen, und bietet ein zugänglicheres Format für diejenigen ohne spezialisierte Software. Darüber hinaus bietet PDF gegenüber TeX mehrere Vorteile, wie z. B. eine bessere Schriftwiedergabe, Unterstützung für Interaktivität und eine einfachere Steuerung von Seitengröße und Layout.

Der folgende C++-Code setzt eine TeX-Datei, erstellt ein PDF, das dann in einem ZIP-Archiv auf dem lokalen Dateisystem gespeichert wird. Um diese Aufgabe zu erfüllen, verwenden Sie die Aspose.TeX-API für C++, die ein funktionsreiches, leistungsstarkes und einfach zu bedienendes Dokumentenverarbeitungs- und Konvertierungswerkzeug ist. Um die API zu installieren, öffnen Sie den NuGet-Paketmanager und suchen Sie nach Aspose.TeX.Cpp. Alternativ können Sie den folgenden Befehl in der Paketmanager-Konsole verwenden:

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Im folgenden Code nimmt TeX die Haupteingabedatei aus einem ZIP-Archiv, konvertiert sie in ein PDF, das in ein anderes ZIP-Archiv geschrieben wird. Folgen Sie der Richtlinie:

  1. Öffnen Sie einen Stream, der ein ZIP-Archiv enthält, das als Eingabearbeitsverzeichnis dient. Sie können optional ein Unterverzeichnis im Archiv angeben. Andernfalls wird die Datei im gesamten Archiv gesucht.
  2. Erstellen Sie einen Dateistream für ein neues ZIP-Archiv, das als Ausgabearbeitsverzeichnis dient.
  3. Erstellen Sie Satzoptionen für das Object-TeX-Format auf der Object-TeX-Engine-Erweiterung.
  4. Geben Sie ZIP-Archiv-Arbeitsverzeichnisse für die Eingabe und Ausgabe unter Verwendung der Klassen InputZipDirectory und OutputZipDirectory an.
  5. Geben Sie die Konsole als Ausgabeterminal an.
  6. Geben Sie mithilfe der Klasse PdfSaveOptions Speicheroptionen für die Satzoptionen an.
  7. Instanziieren Sie die Klasse TeXJob und übergeben Sie den Namen der Haupteingabedatei, ein neu erstelltes PdfDevice -Objekt und die Satzoptionen als Argumente. Führen Sie die Konvertierung durch Aufrufen der Run()-Methode aus.
  8. Schließen Sie das Ausgabe-ZIP-Archiv ab.

C++-Codebeispiel: 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 What is TeX File Format

TeX ist ein Satzsystem und eine Programmiersprache, das Dokumente in Klartext beschreibt. TeX‑Dateien werden von einer TeX‑Engine (z. B. pdfTeX, XeTeX, LuaTeX) verarbeitet und erzeugen Ausgaben wie PDF oder DVI. Es bietet präzise Kontrolle über Layout, Typografie und mathematische Formeln.