Typeset TeX dengan ZIP I/O

Konversikan TeX ke PDF menggunakan arsip ZIP sebagai input dan output. API untuk C++

 

Bahasa TeX adalah alat penyusunan huruf untuk membuat dokumen profesional tanpa repot memformat. Aspose.TeX menawarkan kepada Anda Solusi API untuk C++ yang merupakan pustaka yang fleksibel dan mudah digunakan untuk mengeset file TeX dan LaTeX.

TeX adalah sistem yang kuat dan canggih, tetapi format asalnya tidak digunakan secara luas di luar lingkungan akademik dan ilmiah. PDF, di sisi lain, adalah format portabel yang dapat dengan mudah dilihat di sebagian besar perangkat dan diterima lebih luas. Kemampuan membaca PDF hadir di setiap perangkat, di sebagian besar browser modern. Mengonversi TeX ke PDF memungkinkan dokumen dibagikan dengan audiens yang lebih besar dan menyediakan format yang lebih mudah diakses bagi mereka yang tidak memiliki perangkat lunak khusus. Selain itu, PDF memberikan beberapa keunggulan dibandingkan TeX seperti perenderan font yang lebih baik, dukungan untuk interaktivitas, dan pengelolaan ukuran dan tata letak halaman yang lebih mudah.

API memungkinkan pemisahan direktori input dan output, menawarkan antarmuka IOutputWorkingDirectory untuk kustomisasi output oleh pengguna. Ini memiliki implementasinya sendiri. Antarmuka ini memperluas IInputWorkingDirectory karena mesin mungkin memerlukan penulisan ke file sebelum membacanya. Metode GetOutputFile() dari antarmuka mengembalikan aliran untuk menulis, bukan aliran membaca yang disediakan oleh GetFile().

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Dalam kode di bawah ini kita akan meletakkan file input dalam arsip ZIP dan menganggapnya sebagai direktori input dan membuat file (atau streaming) dan membiarkan mesin TeX menggunakannya sebagai arsip ZIP untuk menyimpan file output. Ikuti panduannya:

  1. Buka aliran pada arsip ZIP yang akan berfungsi sebagai direktori kerja masukan.
  2. Buat opsi penyusunan huruf untuk format ObjectTeX default pada ekstensi mesin ObjectTeX.
  3. Tentukan direktori kerja arsip ZIP untuk input dan output menggunakan InputZipDirectory dan OutputZipDirectory Kelas.
  4. Tentukan konsol sebagai terminal keluaran.
  5. Menggunakan PdfSaveOptions Kelas membuat dan menentukan opsi penyimpanan.
  6. Jalankan konversi.
  7. Perbaiki output.
  8. Selesaikan arsip ZIP keluaran.

Kode C++ untuk mengonversi TeX ke PDF dengan input dan output ZIP

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



Pertanyaan Umum

1. Bisakah saya mengeset dokumen TeX menggunakan file ZIP sebagai input?

Aspose.TeX mendukung pembacaan file sumber TeX dari arsip terkompresi seperti file ZIP. Anda dapat memasukkan semua file yang diperlukan, termasuk file sumber TeX, gambar, dan sumber daya tambahan, dalam arsip ZIP dan kemudian menentukan file ZIP sebagai input ke kompiler LaTeX. Hal ini memungkinkan pengorganisasian dan distribusi proyek LaTeX dengan mudah, terutama ketika berhadapan dengan dokumen besar atau kompleks dengan banyak ketergantungan.

2. Apakah ada keuntungan menggunakan file ZIP untuk penyusunan huruf dokumen TeX?

Ya, menggunakan file ZIP untuk penyusunan huruf dokumen TeX menawarkan beberapa keuntungan. Pertama, file ZIP menyediakan cara mudah untuk mengemas dan mengatur beberapa file yang terkait dengan proyek LaTeX, termasuk file sumber TeX, bibliografi, gambar, dan file gaya, ke dalam satu arsip terkompresi. Hal ini menyederhanakan distribusi dan berbagi dokumen LaTeX, terutama saat berkolaborasi dengan orang lain atau berbagi proyek secara online.

3. Bagaimana cara mengeset file TeX?

Untuk mengeset file TeX menggunakan Solusi API Aspose.TeX, Anda perlu membuat opsi konversi untuk format Object TeX atau Object LaTeX berdasarkan ekstensi mesin Object TeX. Kemudian tentukan direktori kerja sistem file untuk output. Terakhir, buat instance kelas TeXJob dan jalankan proses penyusunan huruf menggunakan metode TeXJob.Run().

TeX Apa itu Format File TeX

TeX sebenarnya bukan format. Pada saat yang sama merupakan bahasa pemrograman dan juga mesin juru bahasa yang memahami bahasa ini. File TeX adalah dokumen yang dibuat di LaTeX. Dokumen ini dapat menyertakan grafik, tabel, simbol, daftar, rumus, dan persamaan.