Erstellen Sie ein benutzerdefiniertes TeX Format und setzen Sie es mit C++ in PDF und XPS um

TeX ist ein Satzsystem, das als eines der anspruchsvollsten digitalen typografischen Systeme gilt. TeX wird zum Setzen von Dokumenten und zum Generieren von Ausgaben wie PDF, XPS und verschiedenen Bildformaten verwendet. Es kann Situationen geben, in denen Sie eine Reihe von Dokumenten einheitlich gestalten müssen. Dafür wird sich das Erstellen eines benutzerdefinierten TeX-Formats als hilfreich erweisen. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie ein benutzerdefiniertes TeX Format erstellen und es mit C++ in PDF und XPS-Formate setzen.

C++-API zum Erstellen eines benutzerdefinierten TeX-Formats und zum Setzen in PDF und XPS

Aspose.TeX for C++ ist eine C++ Bibliothek zum Arbeiten mit TeX Dateien, ohne dass zusätzliche Software installiert werden muss. Mit der API können Sie TeX Dateien setzen, benutzerdefinierte TeX-Formate erstellen und Ausgaben in Formaten wie XPS, PDF, PNG, JPEG, TIFF, BMP generieren. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.TeX.Cpp

Erstellen Sie ein benutzerdefiniertes TeX Format mit C++

Im Folgenden sind die Schritte zum Erstellen eines benutzerdefinierten TeX-Formats aufgeführt.

Der folgende Beispielcode veranschaulicht, wie ein benutzerdefiniertes TeX Format mit C++ erstellt wird.

// Erstellen Sie Satzoptionen in der ObjectTeX engine erweiterung.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Eingabe an.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Führen Sie die Formaterstellung aus.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

Setzen Sie das benutzerdefinierte TeX Format in das XPS Format

Im Folgenden finden Sie die Schritte zum Setzen des benutzerdefinierten TeX-Formats in das XPS-Format.

Im Folgenden finden Sie den Beispielcode zum Setzen eines benutzerdefinierten TeX-Formats in das XPS-Format.

// Erstellen Sie ein Dateisystem-Eingabe-Arbeitsverzeichnis.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Erstellen Sie einen Formatanbieter.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Löschen von Ressourcen unter der 'using'-Anweisung
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Erstellen Sie Satzoptionen für ein benutzerdefiniertes Format in der ObjectTeX engine erweiterung.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Geben Sie das Eingabe-Arbeitsverzeichnis an.
        options->set_InputWorkingDirectory(wd);

        // Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Schriftsatz ausführen.
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<XpsDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

Setzen Sie das benutzerdefinierte TeX Format in das PDF Format

Im Folgenden finden Sie die Schritte zum Setzen des benutzerdefinierten TeX-Formats in das PDF-Format.

Der folgende Beispielcode zeigt, wie ein benutzerdefiniertes TeX Format in das PDF Format gesetzt wird.

// Erstellen Sie ein Dateisystem-Eingabe-Arbeitsverzeichnis.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Erstellen Sie einen Formatanbieter.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Löschen von Ressourcen unter der 'using'-Anweisung
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Erstellen Sie Satzoptionen für ein benutzerdefiniertes Format in der ObjectTeX engine erweiterung.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Geben Sie das Eingabearbeitsverzeichnis an.
        options->set_InputWorkingDirectory(wd);

        // Geben Sie ein Dateisystem-Arbeitsverzeichnis für die Ausgabe an.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Geben Sie die PdfSaveOptions an
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Schriftsatz ausführen.
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<PdfDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C++ ein benutzerdefiniertes TeX Format erstellen. Außerdem haben Sie gelernt, wie Sie ein benutzerdefiniertes TeX Format mithilfe der Aspose.TeX for C++ API in PDF und XPS-Formate setzen. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch