ZIP’e çıktı yazma

TeX dosyası dönüştürme sonucunu C++ aracılığıyla ZIP olarak kaydedin

 

TeX một veri işaretleme dilidir và yayın seti sistemi olarak da bilinen bilgisayar dizgi sisteminin çekirdeğidir. Genellikle một dosya formatı olarak adlandırılsa da, aslında matematiksel, teknik và diğer karmaşık belgeleri oluşturmak için kullanılan một programlama dili và yorumlayıcı motorudur. Ancak, một dosya oluşturulduktan sonra, sonucu herhangi một cihazda và platformda kullanabilmek için daha popüler một formata dönüştürmek gerekebilir.

Aspose.TeX API Çözümü, TeX dosyalarını dönüştürme và sonucu một ZIP arşivi olarak kaydetme özelliği sunar. Burada sunulan kod parçacığı, một TeX dosyasının PDF’ye nasıl dönüştürüleceğini và çıktının một zip dosyası olarak nasıl kaydedileceğini gösterir. API dönüştürücü, TeX dosyalarını C++ dilinde dönüştürebilir và platformlar arası một uygulama oluşturmak veya C++ projenize entegre edilmek için kullanılabilir.

Örnekleri çalıştırmak için, C++ platformu için özellik açısından zengin và kullanımı kolay một belge düzenleme và dönüştürme aracı olan C++ için Aspose.TeX API’sine ihtiyacınız olacaktır. Aspose.TeX API’sini NuGet paket yöneticisinde arayarak hoặc Paket Yöneticisi Konsolu’nda Install-Package Aspose.TeX komutunu kullanarak yükleyebilirsiniz.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

Buradaki kod một TeX dosyasını dönüştürüyor và một ZIP arşivindeki PDF olarak kaydediyor. Bu tür một dönüştürmeyi işlemek için sonraki adımları uygulayın:

  1. TeXOptions Sınıfının một örneğini oluşturun. OutputWorkingDirectory özelliğini kullanarak çıktı için một ZIP arşivi çalışma dizini belirtmek için bunu kullanın.
  2. OutputConsoleTerminal Sınıfını kullanarak konsolu çıktı terminali olarak belirtin.
  3. PdfSaveOptions Sınıfını kullanarak çıktıyı kaydetme seçeneklerini tanımlayın.
  4. PdfDevice için TeXJob Yöntemini kullanarak TeX’ten PDF’ye dönüştürmeyi çalıştırın.
  5. Çıktıyı iyileştirin.
  6. OutputZipDirectory Sınıfını kullanarak çıktı ZIP arşivini tamamlayın. Kod, işlem sırasında oluşabilecek istisnaları işlemek için một try-catch bloğu kullanır.

Çıktı için ZIP dizinlerini kullanmak için C++ Kodu

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

TeX What is TeX File Format

TeX, yüksek kaliteli belgeler ve özellikle matematiksel formüller oluşturmak için kullanılan bir dizgi sistemi ve programlama dilidir. .tex dosyaları düz metin olup TeX motorları (pdfTeX, XeTeX, LuaTeX) tarafından PDF, DVI vb. formatlara dönüştürülür.