TeX'i C++ kullanarak Programlı Olarak PDF veya XPS Dosyasına Dönüştürün

TeX dosyaları, metin, semboller ve aritmetik ifadeler içeren farklı belgeleri ve kitapları dizmek için kullanılır. Ayrıca, bu dosyalar PDF, XPS gibi çıktılar ve çeşitli görüntü formatları oluşturabilir. Bu makalede, TeX dosyalarını C++ kullanarak XPS ve PDF formatına nasıl dönüştüreceğinizi öğreneceksiniz.

TeX’i PDF ve XPS Formatına Dönüştürmek için C++ API

Aspose.TeX for C++, herhangi bir ek yazılım yüklenmesini gerektirmeden TeX dosyalarıyla çalışmaya yönelik bir C++ kitaplığıdır. API, TeX dosyalarını dizmenize ve XPS, PDF, PNG, JPEG, TIFF, gibi biçimlerde çıktılar oluşturmanıza olanak tanır. BMP. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.TeX.Cpp

C++ kullanarak TeX’i XPS Biçimine Dönüştürün

TeX dosyalarını birkaç satır kodla XPS formatına dönüştürebilirsiniz. Bunu başarmak için lütfen aşağıda verilen adımları izleyin.

Aşağıdaki örnek kod, bir TeX dosyasının C++ kullanarak XPS biçimine nasıl dönüştürüleceğini gösterir.

// ObjectTeX motor uzantısında varsayılan ObjectTeX formatı için dizgi seçenekleri oluşturun.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// Giriş için bir dosya sistemi çalışma dizini belirtin.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Çıktı için bir dosya sistemi çalışma dizini belirtin.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Çıkış terminali olarak konsolu belirtin.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Varsayılan. Belirtmeye gerek yok.
// Terminal çıkışının konsola yazılmasını istemiyorsanız, çıkış terminali olarak bellek akışını belirtin.
//options.TerminalOut = yeni OutputMemoryTerminal();

// Dizgiyi çalıştırın.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);

// Daha fazla çıktının görünmesi için yazın.
options->get_TerminalOut()->get_Writer()->WriteLine();

C++ kullanarak TeX’i PDF Formatına Dönüştürme

TeX dosyalarını PDF formatına dönüştürmek için gereken adımlar aşağıdadır.

Aşağıdaki örnek kod, C++ kullanılarak bir TeX dosyasının PDF biçimine nasıl dönüştürüleceğini gösterir.

// ObjectTeX motor uzantısında varsayılan ObjectTeX formatı için dizgi seçenekleri oluşturun.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// Giriş için bir dosya sistemi çalışma dizini belirtin.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Çıktı için bir dosya sistemi çalışma dizini belirtin.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Çıkış terminali olarak konsolu belirtin.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Varsayılan. Belirtmeye gerek yok.
// Terminal çıkışının konsola yazılmasını istemiyorsanız, çıkış terminali olarak bellek akışını belirtin.
//options.TerminalOut = yeni OutputMemoryTerminal();

// PdfSaveOptions'ı ayarlayın
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

// Dizgiyi çalıştırın.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

// Daha fazla çıktının görünmesi için yazın.
options->get_TerminalOut()->get_Writer()->WriteLine();

C++ kullanarak TeX ZIP dizinini PDF ZIP Dizinine dönüştürün

Birden fazla TeX dosyasını tek seferde PDF formatına dönüştürmek için TeX dosyalarını bir ZIP arşivine ekleyebilir ve sıkıştırılmış PDF dosyalarına dönüştürebilirsiniz. Bunu başarmak için adımlar aşağıdadır.

Aşağıdaki örnek kod, C++ kullanarak TeX ZIP arşivinin PDF ZIP arşivine nasıl dönüştürüleceğini gösterir.

// Kaynak zip dosyasını bir akışta açın
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Kaynakları 'kullanma' ifadesi altında temizleme
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------

try {
    // Çıkış zip dosyasını bir akışta açın
    System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(u"OutputDirectory", u"zip-pdf-out.zip"), System::IO::FileMode::Create);
    // Kaynakları 'kullanma' ifadesi altında temizleme
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    // ------------------------------------------

    try
    {
        // ObjectTeX motor uzantısında varsayılan ObjectTeX formatı için dizgi seçenekleri oluşturun.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

        // Giriş için bir ZIP arşivi çalışma dizini belirtin.
        options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));

        // Çıktı için bir ZIP arşiv çalışma dizini belirtin.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));

        // Çıkış terminali olarak konsolu belirtin.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
        // Varsayılan. Belirtmek gerekli değil.

        // Kaydetme seçeneklerini oluşturun ve belirtin.
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Dizgiyi çalıştırın.
        Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

        // Sonuç olarak çıktının görünmesi için yazın. 
        options->get_TerminalOut()->get_Writer()->WriteLine();

        // Çıktı ZIP arşivini sonlandırın.
        (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());
}

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.

Çözüm

Bu makalede, C++ kullanarak TeX dosyalarını XPS ve PDF formatına nasıl dönüştüreceğinizi öğrendiniz. Ayrıca, bir ZIP arşivindeki TeX dosyalarını sıkıştırılmış PDF dosyalarına nasıl dönüştüreceğinizi öğrendiniz. Aspose.TeX for C++, TeX dosyalarıyla çalışmak için birçok ek özellik sağlar. Resmi belgeleri ziyaret ederek API’yi ayrıntılı olarak keşfedebilirsiniz. Herhangi bir sorunuz olması durumunda lütfen ücretsiz destek forumumuzda bize ulaşmaktan çekinmeyin.

Ayrıca bakınız