ZIP I/O ile TeX’i Yazın

Giriş ve çıkış olarak ZIP arşivlerini kullanarak TeX’i PDF’ye dönüştürün. C++ için API

 

TeX dili, biçimlendirmeyle uğraşmadan profesyonel belgeler oluşturmak için kullanılan bir dizgi aracıdır. Aspose.TeX size, TeX ve LaTeX dosyalarını dizmek için esnek ve kullanımı kolay bir kitaplık olan C++ için API Çözümü sunar.

TeX güçlü, gelişmiş bir sistemdir, ancak yerel formatı akademik ve bilimsel çevreler dışında yaygın olarak kullanılmamaktadır. Öte yandan PDF, çoğu cihazda kolayca görüntülenebilen ve daha geniş çapta kabul gören taşınabilir bir formattır. PDF okuma yeteneği, çoğu modern tarayıcıda her cihazda mevcuttur. TeX’in PDF’ye dönüştürülmesi, belgelerin daha geniş bir hedef kitleyle paylaşılmasına olanak tanır ve özel bir yazılıma sahip olmayanlar için daha erişilebilir bir biçim sağlar. Ek olarak PDF, TeX’e göre daha iyi yazı tipi oluşturma, etkileşim desteği ve sayfa boyutunun ve düzeninin daha kolay yönetimi gibi çeşitli avantajlar sağlar.

API, çıktının kullanıcı tarafından özelleştirilmesi için IOutputWorkingDirectory arabirimini sunarak girdi ve çıktı dizinlerinin ayrılmasını sağlar. Kendi uygulamaları var. Motor bir dosyayı okumadan önce ona yazmayı gerektirebileceğinden, bu arabirim IInputWorkingDirectory öğesini genişletir. Arayüzün GetOutputFile() yöntemi, GetFile() tarafından sağlanan okuma akışı yerine yazma için akışı döndürür.

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Aşağıdaki kodda, giriş dosyalarını bir ZIP arşivine koyacağız ve bunu bir giriş dizini olarak kabul edeceğiz ve bir dosya (veya akış) oluşturacağız ve TeX motorunun bunu çıkış dosyalarını depolamak için bir ZIP arşivi olarak kullanmasına izin vereceğiz. Yönergeye uyun:

  1. Giriş çalışma dizini olarak hizmet edecek bir ZIP arşivinde bir akış açın.
  2. ObjectTeX motor uzantısında varsayılan ObjectTeX formatı için dizgi seçenekleri oluşturun.
  3. InputZipDirectory ve OutputZipDirectory Sınıfları.
  4. Konsolu bir çıkış terminali olarak belirtin.
  5. PdfSaveOptions Sınıfını kullanarak kaydetme seçeneklerini oluşturun ve belirtin.
  6. Dönüşümü çalıştırın.
  7. Çıktıyı hassaslaştırın.
  8. Çıkış ZIP ​​arşivini sonlandırın.

ZIP girişi ve çıkışı ile TeX'i PDF'ye dönüştürmek için C++ Kodu

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

TeX TeX Dosya Biçimi nedir

TeX aslında bir format değildir. Aynı zamanda bir programlama dili ve bu dili anlayan bir tercüman motorudur. Bir TeX dosyası, LaTeX'te oluşturulan bir belgedir. Bu belge grafikler, tablolar, semboller, listeler, formüller ve denklemler içerebilir.