Composer TeX avec ZIP I/O

Convertissez TeX en PDF en utilisant des archives ZIP comme entrée et sortie. API pour C++

 

Le langage TeX est un outil de composition pour créer des documents professionnels sans se soucier du formatage. Aspose.TeX vous propose une solution API pour C++ qui est une bibliothèque flexible et facile à utiliser pour composer des fichiers TeX et LaTeX.

TeX est un système puissant et avancé, mais son format natif n’est pas largement utilisé en dehors des cercles académiques et scientifiques. PDF, d’autre part, est un format portable qui peut être facilement visualisé sur la plupart des appareils et qui est plus largement accepté. La capacité de lire les PDF est présente sur tous les appareils, dans la plupart des navigateurs modernes. La conversion de 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, PDF offre plusieurs avantages par rapport à TeX, tels qu’un meilleur rendu des polices, la prise en charge de l’interactivité et une gestion plus facile de la taille et de la mise en page des pages.

L’API permet la séparation des répertoires d’entrée et de sortie, offrant l’interface IOutputWorkingDirectory pour la personnalisation de la sortie par l’utilisateur. Il a ses propres implémentations. Cette interface étend IInputWorkingDirectory car le moteur peut nécessiter d’écrire dans un fichier avant de le lire. La méthode GetOutputFile() de l’interface renvoie le flux d’écriture, plutôt que le flux de lecture fourni par GetFile().

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Dans le code ci-dessous, nous allons placer les fichiers d'entrée dans une archive ZIP et la considérer comme un répertoire d'entrée et créer un fichier (ou flux) et laisser le moteur TeX l'utiliser comme une archive ZIP pour stocker les fichiers de sortie. Suivez la ligne directrice :

  1. Ouvrez un flux sur une archive ZIP qui servira de répertoire de travail d’entrée.
  2. Créez des options de composition pour le format ObjectTeX par défaut sur l’extension du moteur ObjectTeX.
  3. Spécifiez un répertoire de travail d’archive ZIP pour l’entrée et la sortie à l’aide de InputZipDirectory et OutputZipDirectory Classes.
  4. Spécifiez la console comme terminal de sortie.
  5. À l’aide de la classe PdfSaveOptions créez et spécifiez les options d’enregistrement.
  6. Exécutez la conversion.
  7. Affiner la sortie.
  8. Finalisez l’archive ZIP de sortie.

Code C++ pour convertir TeX en PDF avec 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 Qu'est-ce que le format de fichier TeX

TeX n'est pas réellement un format. C'est à la fois un langage de programmation et aussi un moteur d'interprétation qui comprend ce langage. Un fichier TeX est un document créé en LaTeX. Ce document peut inclure des graphiques, des tableaux, des symboles, des listes, des formules et des équations.