Mengkonversi File TeX ke PDF atau XPS Secara terprogram menggunakan C++

File TeX digunakan untuk menyusun berbagai dokumen dan buku yang berisi teks, simbol, dan ekspresi aritmatika. Selain itu, file ini dapat menghasilkan keluaran seperti PDF, XPS, dan berbagai format gambar. Pada artikel ini, Anda akan mempelajari cara mengonversi file TeX ke format XPS dan PDF menggunakan C++.

C++ API untuk Mengonversi TeX ke Format PDF dan XPS

Aspose.TeX for C++ adalah pustaka C++ untuk bekerja dengan file TeX tanpa memerlukan penginstalan perangkat lunak tambahan apa pun. API memungkinkan Anda mengeset file TeX dan menghasilkan keluaran dalam format seperti XPS, PDF, PNG, JPEG, TIFF, BMP. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.TeX.Cpp

Konversi TeX ke Format XPS menggunakan C++

Anda dapat mengonversi file TeX ke format XPS hanya dalam beberapa baris kode. Untuk mencapai ini, silakan ikuti langkah-langkah yang diberikan di bawah ini.

Kode contoh berikut menunjukkan cara mengonversi file TeX ke format XPS menggunakan C++.

// Buat opsi pengaturan huruf untuk format ObjectTeX default pada ekstensi mesin ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// Tentukan direktori kerja sistem file untuk input.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Tentukan direktori kerja sistem file untuk output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Tentukan konsol sebagai terminal keluaran.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Bawaan. Tidak perlu ditentukan.
// Tentukan aliran memori sebagai terminal keluaran, jika Anda tidak ingin keluaran terminal ditulis ke konsol.
//options.TerminalOut = OutputMemoryTerminal baru();

// Jalankan pengaturan huruf.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);

// Untuk output lebih lanjut untuk melihat menulis.
options->get_TerminalOut()->get_Writer()->WriteLine();

Mengonversi TeX ke Format PDF menggunakan C++

Berikut langkah-langkah untuk mengkonversi file TeX ke format PDF.

Kode contoh berikut menunjukkan cara mengonversi file TeX ke format PDF menggunakan C++.

// Buat opsi penyusunan huruf untuk format ObjectTeX default pada ekstensi mesin ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// Tentukan direktori kerja sistem file untuk input.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Tentukan direktori kerja sistem file untuk output.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Tentukan konsol sebagai terminal keluaran.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// Bawaan. Tidak perlu ditentukan.
// Tentukan aliran memori sebagai terminal keluaran, jika Anda tidak ingin keluaran terminal ditulis ke konsol.
//options.TerminalOut = OutputMemoryTerminal baru();

// Tetapkan PdfSaveOptions
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

// Jalankan pengaturan huruf.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

// Untuk output lebih lanjut untuk melihat menulis.
options->get_TerminalOut()->get_Writer()->WriteLine();

Ubah direktori TeX ZIP menjadi Direktori PDF ZIP menggunakan C++

Untuk mengonversi beberapa file TeX ke format PDF sekaligus, Anda dapat menambahkan file TeX ke arsip ZIP dan mengonversinya menjadi file zip PDF. Berikut ini adalah langkah-langkah untuk mencapainya.

Kode contoh berikut menunjukkan cara mengonversi arsip TeX ZIP ke arsip PDF ZIP menggunakan C++.

// Buka file zip sumber dalam aliran
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// Menghapus sumber daya di bawah pernyataan 'menggunakan'
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------------

try {
    // Buka file zip keluaran dalam aliran
    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);
    // Menghapus sumber daya di bawah pernyataan 'menggunakan'
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    // ------------------------------------------------

    try
    {
        // Buat opsi penyusunan huruf untuk format ObjectTeX default pada ekstensi mesin ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

        // Tentukan direktori kerja arsip ZIP untuk masukan.
        options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));

        // Tentukan direktori kerja arsip ZIP untuk output.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));

        // Tentukan konsol sebagai terminal keluaran.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
        // Bawaan. Tidak perlu ditentukan.

        // Buat dan tentukan opsi penyimpanan.
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Jalankan pengaturan huruf.
        Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

        // Untuk output konsekuen untuk melihat menulis. 
        options->get_TerminalOut()->get_Writer()->WriteLine();

        // Finalisasi keluaran arsip ZIP.
        (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());
}

Dapatkan Lisensi Gratis

Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengonversi file TeX ke format XPS dan PDF menggunakan C++. Selain itu, Anda telah mempelajari cara mengonversi file TeX dalam arsip ZIP menjadi file zip PDF. Aspose.TeX for C++ menyediakan banyak fitur tambahan untuk bekerja dengan file TeX. Anda dapat menjelajahi API secara mendetail dengan mengunjungi dokumentasi resmi. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga