Composer du TeX avec E/S ZIP
Convertir du TeX en PDF en utilisant des archives ZIP comme entrée et sortie. API pour C++
Le langage TeX est un outil de composition qui vous permet de créer des documents professionnels sans vous soucier du formatage. Avec TeX, vous saisissez du texte brut contenant des fragments de texte d’un document ainsi que des commandes qui contrôlent la sortie. En sortie, vous obtiendrez un fichier formaté dans le format souhaité (spécifié). Pour une meilleure compréhension des entrées et sorties TeX, reportez-vous à la documentation TeX.
TeX est également un système puissant et avancé, mais il n’est pas largement utilisé en dehors des cercles académiques et scientifiques. Le PDF, quant à lui, est un format portable qui peut être facilement visualisé sur la plupart des appareils et est plus largement accepté. La capacité de lire le PDF est présente sur chaque appareil, dans la plupart des navigateurs modernes. La conversion du TeX en PDF permet de partager les documents avec un public plus large et fournit un format plus accessible pour ceux qui n’ont pas de logiciel spécialisé. De plus, le PDF offre plusieurs avantages par rapport au TeX, tels qu’un meilleur rendu des polices, la prise en charge de l’interactivité et un contrôle plus facile de la taille et de la mise en page de la page.
Le code C++ ci-dessous compose un fichier TeX, créant un PDF, qui est ensuite enregistré dans une archive ZIP sur le système de fichiers local. Pour accomplir cette tâche, utilisez l’API Aspose.TeX pour C++, qui est un outil de traitement et de conversion de documents riche en fonctionnalités, puissant et facile à utiliser. Pour installer l’API, ouvrez le gestionnaire de paquets NuGet et recherchez Aspose.TeX.Cpp. Vous pouvez également utiliser la commande suivante dans la console du gestionnaire de paquets :
Package Manager Console Command
PM> Install-Package Aspose.TeX.Cpp
Dans le code ci-dessous, TeX prend le fichier d'entrée principal d'une archive ZIP et le convertit en un PDF qui est écrit dans une autre archive ZIP. Suivez les directives :
- Ouvrez un flux contenant une archive ZIP qui servira de répertoire de travail d’entrée. Vous pouvez éventuellement spécifier un sous-répertoire dans l’archive. Sinon, le fichier sera recherché dans toute l’archive.
- Créeez un flux de fichier pour une nouvelle archive ZIP qui servira de répertoire de travail de sortie.
- Créez des options de composition pour le format Object TeX lors de l’extension du moteur Object TeX.
- Spécifiez les répertoires de travail de l’archive ZIP pour l’entrée et la sortie à l’aide des classes InputZipDirectory et OutputZipDirectory .
- Spécifiez la console comme terminal de sortie.
- À l’aide de la classe PdfSaveOptions , spécifiez les options d’enregistrement pour les options de composition.
- Instanciez la classe TeXJob en passant le nom du fichier d’entrée principal, un objet PdfDevice nouvellement créé et les options de composition comme arguments. Exécutez la conversion en appelant la méthode Run().
- Finalisez l’archive ZIP de sortie.
Exemple de code C++ : Conversion du TeX en PDF với entrée et sortie ZIP
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. Est-ce que je peux composer des documents TeX en utilisant un fichier ZIP comme entrée ?
Aspose.TeX prend en charge la lecture des fichiers sources TeX à partir d’archives compressées comme les fichiers ZIP. Vous pouvez inclure tous les fichiers nécessaires, y compris les fichiers sources TeX, les images et les ressources supplémentaires, dans une archive ZIP, puis spécifier le fichier ZIP comme entrée pour le compilateur LaTeX. Cela permet une organisation et une distribution pratiques des projets LaTeX, surtout lorsqu’il s’agit de documents volumineux ou complexes avec de multiples dépendances.
2. Y a-t-il des avantages à utiliser des fichiers ZIP pour la composition de documents TeX ?
Oui, l’utilisation de fichiers ZIP pour la composition de documents TeX offre plusieurs avantages. Tout d’abord, les fichiers ZIP fournissent un moyen pratique d’emballer et d’organiser plusieurs fichiers associés à un projet LaTeX, y compris les fichiers sources TeX, les bibliographies, les images et les fichiers de style, dans une seule archive compressée. Cela simplifie la distribution et le partage de documents LaTeX, surtout lors de collaborations avec d’autres personnes ou de partage de projets en ligne.
3. Comment composer des fichiers TeX ?
Pour composer des fichiers TeX en utilisant la solution API Aspose.TeX, vous devez créer des options de conversion pour le format Object TeX ou Object LaTeX basé sur l’extension du moteur Object TeX. Ensuite, spécifiez un répertoire de travail du système de fichiers pour la sortie. Enfin, créez une instance de la classe TeXJob et exécutez le processus de composition en utilisant la méthode TeXJob.Run().
TeX What is TeX File Format
TeX est un système de composition typographique et un langage de programmation permettant de créer des documents de haute qualité, notamment avec des formules mathématiques. Les fichiers .tex sont du texte brut traité par des moteurs TeX (pdfTeX, XeTeX, LuaTeX) pour produire du PDF ou du DVI.