Tulis keluaran ke ZIP

Simpan hasil konversi file TeX sebagai ZIP melalui C++

 

TeX adalah bahasa markup data dan inti dari sistem penyusunan huruf komputer yang juga dikenal sebagai sistem kumpulan publikasi. Meskipun sering disebut sebagai format file, sebenarnya ini adalah bahasa pemrograman dan mesin juru bahasa yang digunakan untuk membuat dokumen matematika, teknis, dan kompleks lainnya. Namun, setelah file dibuat, mungkin perlu mengonversinya ke format yang lebih populer agar dapat menggunakan hasilnya di perangkat dan platform apa pun.

Aspose.TeX API Solution menawarkan fitur untuk mengonversi file TeX dan menyimpan hasilnya sebagai arsip ZIP. Cuplikan kode yang disediakan di sini menunjukkan cara mengonversi file TeX ke PDF dan menyimpan hasilnya sebagai file zip. Konverter API dapat mengubah file TeX dalam bahasa C++ dan dapat digunakan untuk membuat aplikasi lintas platform atau diintegrasikan ke dalam proyek C++ Anda.

Untuk menjalankan contoh, Anda memerlukan Aspose.TeX untuk C++ API, alat manipulasi dan konversi dokumen yang kaya fitur dan mudah digunakan untuk platform C++. Anda dapat menginstal Aspose.TeX API dengan mencarinya di manajer paket NuGet atau dengan menggunakan perintah Install-Package Aspose.TeX di Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.TeX

Kode di sini mengonversi file TeX dan menyimpannya sebagai PDF dalam arsip ZIP. Ambil langkah selanjutnya untuk memproses konversi tersebut:

  1. Buat instance Kelas [TeXOptions]( https://reference.aspose.com/tex/cpp/aspose.tex/texoptions/ . Gunakan untuk menentukan direktori kerja arsip ZIP untuk output menggunakan properti OutputWorkingDirectory.
  2. Tentukan konsol sebagai terminal output menggunakan Kelas OutputConsoleTerminal .
  3. Tentukan opsi untuk menyimpan keluaran menggunakan Kelas PdfSaveOptions .
  4. Jalankan konversi TeX ke PDF menggunakan Metode TeXJob untuk PdfDevice.
  5. Perbaiki output.
  6. Selesaikan arsip ZIP keluaran menggunakan Kelas OutputZipDirectory . Kode menggunakan blok try-catch untuk menangani pengecualian yang mungkin terjadi selama proses.

Kode C++ untuk menggunakan direktori ZIP untuk output

    using Aspose::TeX::IO;
    using Aspose::TeX::Presentation::Pdf;
    using System::IO;
    // 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 '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 'using' statement
            System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
            // ------------------------------------------

            try
            {
                // Create typesetting options for default ObjectTeX format on ObjectTeX 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 the console as an output terminal.
                options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
                // Default. Not necessary to specify.

                // Create and specify saving options.
                options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
                // Run typesetting.
                Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

                // For the consequent output to look right. 
                options->get_TerminalOut()->get_Writer()->WriteLine();

                // 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. Bagaimana cara melihat keluaran TeX?

Untuk membuka file TeX agar hasil penyusunan huruf dapat dilihat, gunakan lintas platform TeX Viewer . Ini juga memungkinkan Anda menyimpan file sebagai gambar.

2. Bisakah saya menulis keluaran TeX ke arsip ZIP?

Ya, Solusi API ini menyediakan fungsionalitas seperti itu. Anda memerlukan kelas OutputZipDirectory, yang mengimplementasikan metode untuk mendapatkan aliran file untuk ditulis ketika direktori kerja adalah arsip ZIP.

3. Bagaimana cara menulis keluaran TeX ke arsip ZIP?

Buat instance kelas TeXOptions. Kemudian tentukan direktori kerja arsip ZIP untuk hasilnya. Tentukan opsi penyimpanan dan jalankan konversi. Terakhir, selesaikan penulisan output ke arsip ZIP dengan memanggil metode Finish().

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.