A kimenet írása ZIP-be

Mentse el a TeX fájlkonverzió eredményét ZIP-ként C++-on keresztül

 

A TeX egy adatjelölő nyelv és a kiadványkészlet-rendszerként is ismert számítógépes betűszedő rendszer magja. Bár gyakran fájlformátumnak nevezik, valójában egy programozási nyelv és tolmácsmotor, amelyet matematikai, műszaki és egyéb összetett dokumentumok létrehozására használnak. A fájl létrehozása után azonban előfordulhat, hogy át kell alakítani egy népszerűbb formátumba, hogy az eredményt bármilyen eszközön és platformon használni lehessen.

Az Aspose.TeX API Solution szolgáltatást kínál a TeX-fájlok konvertálására és az eredmény ZIP-archívumként való mentésére. Az itt található kódrészlet bemutatja, hogyan konvertálhat TeX fájlt PDF-be, és hogyan mentheti el a kimenetet zip fájlként. Az API konverter képes átalakítani a TeX fájlokat C++ nyelven, és használható többplatformos alkalmazás létrehozására, vagy integrálható a C++ projektbe.

A példák futtatásához szüksége lesz az Aspose.TeX for C++ API-ra, amely egy funkciókban gazdag és könnyen használható dokumentumkezelési és konvertáló eszköz a C++ platformhoz. Az Aspose.TeX API-t úgy telepítheti, hogy rákeres a NuGet csomagkezelőben, vagy használja az Install-Package Aspose.TeX parancsot a Package Manager Console-ban.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

Az itt található kód egy TeX-fájl konvertálása és PDF-fájlként való mentése egy ZIP-archívumban. Az ilyen átalakítás feldolgozásához tegye a következő lépéseket:

  1. Hozzon létre egy példányt a TeXOptions osztályból. Használja az OutputWorkingDirectory tulajdonság használatával egy ZIP archív munkakönyvtárat a kimenethez.
  2. Adja meg a konzolt kimeneti terminálként az OutputConsoleTerminal osztály használatával.
  3. Határozza meg a kimenet mentésének beállításait a PdfSaveOptions osztály használatával.
  4. Futtassa a TeX PDF konvertálást a TeXJob() módszerrel a PdfDevice számára.
  5. Finomítsa a kimenetet.
  6. Végezze el a kimeneti ZIP-archívumot az OutputZipDirectory osztály használatával. A kód try-catch blokkot használ a folyamat során esetlegesen előforduló kivételek kezelésére.

C++ kód a ZIP könyvtárak használatához a kimenethez

    using Aspose::TeX::IO;
    using Aspose::TeX::Presentation::Pdf;
    using System::IO;
    // 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 '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 'using' statement
            System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
            // ------------------------------------------

            try
            {
                // Create typesetting options for default ObjectTeX format on ObjectTeX 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 the console as an output terminal.
                options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
                // Default. Not necessary to specify.

                // Create and specify saving options.
                options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
                // Run typesetting.
                Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

                // For the consequent output to look right. 
                options->get_TerminalOut()->get_Writer()->WriteLine();

                // 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());
        }
    }



GYIK

1. Hogyan nézhetem meg a TeX kimenetet?

Egy TeX-fájl megnyitásához, hogy a szedés eredménye megtekinthető legyen, használja a többplatformos TeX Viewer -et. Lehetővé teszi a fájl képként történő mentését is.

2. Írhatok TeX kimenetet ZIP archívumba?

Igen, ez az API-megoldás biztosít ilyen funkciókat. Szüksége lesz az OutputZipDirectory osztályra, amely egy olyan módszert valósít meg, amellyel egy fájlfolyamot írhat le, ha a munkakönyvtár ZIP-archívum.

3. Hogyan írhatok TeX kimenetet egy ZIP archívumba?

Hozzon létre egy példányt a TeXOptions osztályból. Ezután adjon meg egy ZIP-archívum munkakönyvtárat a kimenethez. Adja meg a mentési beállításokat, és futtassa az átalakítást. Végül a Finish() metódus meghívásával fejezze be a kimenet ZIP-archívumba való írását.

TeX Mi a TeX fájlformátum

A TeX valójában nem formátum. Ez egyben egy programozási nyelv és egy tolmácsmotor is, amely megérti ezt a nyelvet. A TeX fájl egy LaTeX-ben létrehozott dokumentum. Ez a dokumentum grafikákat, táblázatokat, szimbólumokat, listákat, képleteket és egyenleteket tartalmazhat.