Créer un format et une composition TeX personnalisés au format PDF et XPS à l'aide de C++

TeX est un système de composition qui a été noté comme l’un des systèmes typographiques numériques les plus sophistiqués. TeX est utilisé pour composer des documents et générer des sorties telles que PDF, XPS et différents formats d’image. Il peut y avoir des situations où vous devez concevoir un ensemble de documents de manière uniforme. Pour cela, la création d’un format TeX personnalisé s’avérera utile. À cette fin, cet article vous apprendra comment créer un format TeX personnalisé et le composer aux formats PDF et XPS à l’aide de C++.

API C++ pour créer un format TeX personnalisé et le composer en PDF et XPS

Aspose.TeX for C++ est une bibliothèque C++ permettant de travailler avec des fichiers TeX sans nécessiter l’installation d’un logiciel supplémentaire. L’API vous permet de composer des fichiers TeX, de créer un format TeX personnalisé et de générer une sortie dans des formats tels que XPS, PDF, PNG, JPEG, TIFF, BMP. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.TeX.Cpp

Créer un format TeX personnalisé à l’aide de C++

Voici les étapes pour créer un format TeX personnalisé.

L’exemple de code suivant montre comment créer un format TeX personnalisé à l’aide de C++.

// Créer des options de composition sur l'extension du moteur ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// Spécifiez un répertoire de travail du système de fichiers pour l'entrée.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Spécifiez un répertoire de travail du système de fichiers pour la sortie.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Exécutez la création du format.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

Composer le format TeX personnalisé au format XPS

Voici les étapes pour la composition du format TeX personnalisé au format XPS.

Voici un exemple de code pour composer un format TeX personnalisé au format XPS.

// Créez un répertoire de travail d'entrée de système de fichiers.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Créez un fournisseur de format.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Effacement des ressources sous l'instruction 'using'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Créez des options de composition pour un format personnalisé sur l'extension du moteur ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Spécifiez le répertoire de travail d'entrée.
        options->set_InputWorkingDirectory(wd);

        // Spécifiez un répertoire de travail du système de fichiers pour la sortie.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Exécutez la composition.
        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());
    }
}

Composer le format TeX personnalisé au format PDF

Voici les étapes pour la composition du format TeX personnalisé au format PDF.

L’exemple de code suivant montre comment composer un format TeX personnalisé au format PDF.

// Créez un répertoire de travail d'entrée de système de fichiers.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Créez un fournisseur de format.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Effacement des ressources sous l'instruction 'using'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Créez des options de composition pour un format personnalisé sur l'extension du moteur ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Spécifiez le répertoire de travail d'entrée.
        options->set_InputWorkingDirectory(wd);

        // Spécifiez un répertoire de travail du système de fichiers pour la sortie.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Spécifiez les PdfSaveOptions
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Exécutez la composition.
        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());
    }
}

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à créer un format TeX personnalisé à l’aide de C++. De plus, vous avez appris à composer un format TeX personnalisé aux formats PDF et XPS à l’aide d’Aspose.TeX for C++. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également