اكتب الإخراج إلى ZIP

احفظ نتيجة تحويل ملف TeX بتنسيق ZIP عبر C++

 

TeX هي لغة ترميز البيانات وجوهر نظام تنضيد الكمبيوتر المعروف أيضًا باسم نظام مجموعة النشر. بينما يُشار إليه غالبًا بتنسيق ملف ، إلا أنه في الواقع لغة برمجة ومحرك مترجم يستخدم لإنشاء مستندات رياضية وتقنية ومعقدة أخرى. ومع ذلك ، بمجرد إنشاء ملف ، قد يكون من الضروري تحويله إلى تنسيق أكثر شيوعًا لتتمكن من استخدام النتيجة على أي جهاز ومنصة.

يوفر Aspose.TeX API Solution ميزة لتحويل ملفات TeX وحفظ النتيجة كأرشيف ZIP. يوضح مقتطف الشفرة المقدم هنا كيفية تحويل ملف TeX إلى PDF وحفظ الإخراج كملف مضغوط. يمكن لمحول API تحويل ملفات TeX إلى لغة C++ ويمكن استخدامه لإنشاء تطبيق عبر الأنظمة الأساسية أو دمجها في مشروع C++ الخاص بك.

لتشغيل الأمثلة ، ستحتاج إلى Aspose.TeX for C++ API ، وهي أداة غنية بالميزات وسهلة الاستخدام لمعالجة المستندات وتحويلها لمنصة C++. يمكنك تثبيت Aspose.TeX API بالبحث عنها في مدير الحزم NuGet أو باستخدام أمر Install-Package Aspose.TeX في وحدة تحكم مدير الحزمة.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

يقوم الكود هنا بتحويل ملف TeX وحفظه كملف PDF في أرشيف ZIP. اتخذ الخطوات التالية لمعالجة هذا التحويل:

  1. قم بإنشاء مثيل لفئة TeXOptions . استخدمه لتحديد دليل عمل أرشيف ZIP للإخراج باستخدام خاصية OutputWorkingDirectory.
  2. حدد وحدة التحكم كمحطة إخراج باستخدام فئة OutputConsoleTerminal .
  3. حدد خيارات حفظ الإخراج باستخدام فئة PdfSaveOptions .
  4. قم بتشغيل تحويل TeX إلى PDF باستخدام طريقة TeXJob() لـ PdfDevice.
  5. صقل الإخراج.
  6. قم بإنهاء أرشيف ZIP الناتج باستخدام فئة OutputZipDirectory . يستخدم الكود كتلة try-catch للتعامل مع أي استثناءات قد تحدث أثناء العملية.

كود C++ لاستخدام أدلة ZIP للإخراج

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



التعليمات

1. كيف يمكنني عرض إخراج TeX؟

لفتح ملف TeX بحيث يمكن عرض نتيجة التنضيد، استخدم النظام الأساسي المشترك TeX Viewer . كما يسمح لك بحفظ الملف كصور.

2. هل يمكنني كتابة مخرجات TeX إلى أرشيف ZIP؟

نعم، يوفر حل API هذا هذه الوظيفة. ستحتاج إلى فئة OutputZipDirectory، التي تطبق طريقة للحصول على دفق ملف للكتابة إليه عندما يكون دليل العمل عبارة عن أرشيف ZIP.

3. كيفية كتابة إخراج TeX إلى أرشيف ZIP؟

قم بإنشاء مثيل للفئة TeXOptions. ثم حدد دليل عمل أرشيف ZIP للإخراج. حدد خيارات الحفظ وقم بتشغيل التحويل. أخيرًا، قم بالانتهاء من كتابة المخرجات إلى أرشيف ZIP عن طريق استدعاء الأسلوب Finish().

TeX ما هو TeX تنسيق الملف

إن TeX ليس في الواقع تنسيقًا. إنها في نفس الوقت لغة برمجة وأيضًا محرك مترجم يفهم هذه اللغة. ملف TeX هو مستند تم إنشاؤه في LaTeX. يمكن أن يتضمن هذا المستند رسومات وجداول ورموز وقوائم وصيغ ومعادلات.