Les fichiers TeX sont utilisés pour composer différents documents et livres contenant du texte, des symboles et des expressions arithmétiques. De plus, ces fichiers peuvent générer des sorties telles que PDF, XPS et divers formats d’image. Dans cet article, vous apprendrez à convertir des fichiers TeX au format XPS et PDF à l’aide de C++.
- API C++ pour la conversion de TeX au format PDF et XPS
- Convertir TeX au format XPS en utilisant C++
- Conversion de TeX au format PDF à l’aide de C++
- Convertir le répertoire TeX ZIP en répertoire PDF ZIP en utilisant C++
API C++ pour la conversion de TeX au format 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 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
Convertir TeX au format XPS en utilisant C++
Vous pouvez convertir des fichiers TeX au format XPS en quelques lignes de code seulement. Pour y parvenir, veuillez suivre les étapes ci-dessous.
- Créez une instance de la classe TeXOptions en utilisant TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) fonction membre.
- Spécifiez les répertoires de travail d’entrée et de sortie.
- Spécifiez la console ou le flux de mémoire comme terminal de sortie.
- Enregistrez le fichier XPS de sortie à l’aide de TeX :: Typeset (System :: String path, System :: SharedPtrPresentation::Device appareil, System::SharedPtr options) avec une instance de la classe XpsDevice.
L’exemple de code suivant montre comment convertir un fichier TeX au format XPS à l’aide de C++.
// Créez des options de composition pour le format ObjectTeX par défaut sur l'extension du moteur ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// 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"));
// Spécifiez la console comme terminal de sortie.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Défaut. Pas besoin de préciser.
// Spécifiez le flux de mémoire comme terminal de sortie, si vous ne voulez pas que la sortie du terminal soit écrite sur la console.
//options.TerminalOut = new OutputMemoryTerminal();
// Exécutez la composition.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);
// Pour plus de sortie à regarder écrire.
options->get_TerminalOut()->get_Writer()->WriteLine();
Conversion de TeX au format PDF à l’aide de C++
Voici les étapes pour convertir les fichiers TeX au format PDF.
- Créez une instance de la classe TeXOptions en utilisant TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) fonction membre.
- Spécifiez les répertoires de travail d’entrée et de sortie.
- Spécifiez la console ou le flux de mémoire comme terminal de sortie.
- Passez une instance de la classe PdfSaveOptions à la classe TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valeur) méthode.
- Enregistrez le fichier PDF de sortie en utilisant TeX::Typeset(System::String path, System::SharedPtrPresentation::Device appareil, System::SharedPtr options) avec une instance de la classe PdfDevice.
L’exemple de code suivant montre comment convertir un fichier TeX au format PDF à l’aide de C++.
// Créez des options de composition pour le format ObjectTeX par défaut sur l'extension du moteur ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// 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"));
// Spécifiez la console comme terminal de sortie.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Défaut. Pas besoin de préciser.
// Spécifiez le flux de mémoire comme terminal de sortie, si vous ne voulez pas que la sortie du terminal soit écrite sur la console.
//options.TerminalOut = new OutputMemoryTerminal();
// Définir les options d'enregistrement de PDF
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Exécutez la composition.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Pour plus de sortie à regarder écrire.
options->get_TerminalOut()->get_Writer()->WriteLine();
Convertir le répertoire TeX ZIP en répertoire PDF ZIP en utilisant C++
Afin de convertir plusieurs fichiers TeX au format PDF en une seule fois, vous pouvez ajouter les fichiers TeX à une archive ZIP et les convertir en fichiers PDF compressés. Voici les étapes pour y parvenir.
- Chargez les archives ZIP d’entrée et de sortie dans les flux.
- Créez une instance de la classe TeXOptions en utilisant TeXConfig::ObjectTeX(System::SharedPtrAspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr) fonction membre.
- Définissez les répertoires de travail d’entrée et de sortie.
- Spécifiez la console ou le flux de mémoire comme terminal de sortie.
- Passez une instance de la classe PdfSaveOptions à la classe TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions valeur) méthode.
- Enregistrez le fichier PDF de sortie compressé en utilisant TeX::Typeset(System::String path, System::SharedPtrPresentation::Device appareil, System::SharedPtr options) avec une instance de la classe PdfDevice.
L’exemple de code suivant montre comment convertir une archive TeX ZIP en une archive PDF ZIP à l’aide de C++.
// Ouvrir le fichier zip source dans un flux
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Effacement des ressources sous l'instruction 'using'
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------
try {
// Ouvrez le fichier zip de sortie dans un flux
System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(u"OutputDirectory", u"zip-pdf-out.zip"), System::IO::FileMode::Create);
// Effacement des ressources sous l'instruction 'using'
System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
// ------------------------------------------
try
{
// Créez des options de composition pour le format ObjectTeX par défaut sur l'extension du moteur ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
// Spécifiez un répertoire de travail d'archive ZIP pour l'entrée.
options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
// Spécifiez un répertoire de travail d'archive ZIP pour la sortie.
options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
// Spécifiez la console comme terminal de sortie.
options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
// Défaut. Pas nécessaire de préciser.
// Créer et spécifier des options d'enregistrement.
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
// Exécutez la composition.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);
// Pour une sortie conséquente, regardez écrire.
options->get_TerminalOut()->get_Writer()->WriteLine();
// Finaliser l'archive ZIP de sortie.
(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());
}
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 à convertir des fichiers TeX au format XPS et PDF à l’aide de C++. De plus, vous avez appris à convertir des fichiers TeX dans une archive ZIP en fichiers PDF compressés. Aspose.TeX pour C++ fournit de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers TeX. 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.