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



SSS

1. ZIP dosyasını giriş olarak kullanarak TeX belgelerini düzenleyebilir miyim?

Aspose.TeX, ZIP dosyası gibi sıkıştırılmış arşivlerden TeX kaynak dosyalarını okumayı destekler. TeX kaynak dosyalarını, resimlerini ve ek kaynakları içeren tüm gerekli dosyaları bir ZIP arşivine ekleyebilir ve ardından ZIP dosyasını LaTeX derleyicisi için giriş olarak belirtebilirsiniz. Bu, büyük veya karmaşık belgelere birden çok bağımlılığı olan LaTeX projelerinin uygun şekilde düzenlenmesini ve dağıtılmasını sağlar.

2. TeX belgelerini düzenlemek için ZIP dosyalarını kullanmanın herhangi bir avantajı var mı?

Evet, TeX belgelerini düzenlemek için ZIP dosyalarını kullanmanın birkaç avantajı vardır. İlk olarak, ZIP dosyaları, LaTeX projesi ile ilişkilendirilen birden çok dosyanın, TeX kaynak dosyalarının, bibliyografyaların, resimlerin ve stil dosyalarının tek bir sıkıştırılmış arşiv içinde paketlenmesi ve düzenlenmesi için uygun bir yol sağlar. Bu, LaTeX belgelerinin dağıtımını ve paylaşımını kolaylaştırır, özellikle diğerleriyle işbirliği yapılırken veya projelerin çevrimiçi olarak paylaşılması durumunda.

3. TeX dosyalarını nasıl düzenlerim?

Aspose.TeX API Çözümünü kullanarak TeX dosyalarını düzenlemek için, TeX motoru uzantısına dayalı olarak Nesne TeX veya Nesne LaTeX formatı için dönüşüm seçenekleri oluşturmanız gerekir. Ardından çıktı için bir dosya sistemi çalışma dizini belirtin. Son olarak, TeXJob sınıfının bir örneğini oluşturun ve TeXJob.Run() yöntemini kullanarak düzenleme işlemi çalıştırın.

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.