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
- Créer un format TeX personnalisé à l’aide de C++
- Composer le format TeX personnalisé au format XPS
- Composer le format TeX personnalisé au format PDF
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é.
- Créez une instance de la classe TeXOptions en utilisant la valeur de la propriété TeXConfig::getObjectIniTeX().
- Spécifiez les répertoires de travail d’entrée et de sortie.
- Créez le format en utilisant TeX::CreateFormat(System::String path, System::SharedPtr options) méthode.
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.
- Créez une instance de la classe IWorkingDirectory pour représenter le répertoire de travail d’entrée.
- Chargez le fichier TeX à l’aide de la classe FormatProvider.
- Créez une instance de la classe TeXOptions en utilisant l’objet FormatProvider créé précédemment.
- Définissez JobName, InputWorkingDirectory et OutputWorkingDirectory.
- Utilisez le Typeset(System::SharedPtrSystem::IO::Stream flux, System :: SharedPtrPresentation::Device appareil, System::SharedPtr options) et passez l’objet XpsDevice comme argument pour créer la sortie 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.
- Créez une instance de la classe IWorkingDirectory pour représenter le répertoire de travail d’entrée.
- Chargez le fichier TeX à l’aide de la classe FormatProvider.
- Créez une instance de la classe TeXOptions en utilisant l’objet FormatProvider créé précédemment.
- Définissez JobName, InputWorkingDirectory et OutputWorkingDirectory.
- Créez une instance de la classe PdfSaveOptions et transmettez-la à TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valeur) méthode.
- Utilisez le Typeset(System::SharedPtrSystem::IO::Stream flux, System :: SharedPtrPresentation::Device appareil, System::SharedPtr options) et passez l’objet PdfDevice comme argument pour créer la sortie 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.