Ghi đầu ra vào ZIP
Lưu kết quả chuyển đổi tệp TeX dưới dạng ZIP thông qua C++
TeX là một ngôn ngữ đánh dấu dữ liệu và là cốt lõi của hệ thống sắp chữ máy tính, còn được gọi là hệ thống sắp chữ xuất bản. Mặc dù thường được gọi là định dạng tệp, TeX thực sự là một ngôn ngữ lập trình và công cụ thông dịch được sử dụng để tạo các tài liệu toán học, kỹ thuật và các tài liệu phức tạp khác. Tuy nhiên, sau khi một tệp được tạo, có thể cần phải chuyển đổi nó sang định dạng phổ biến hơn để có thể sử dụng kết quả trên mọi thiết bị và nền tảng.
Giải pháp API Aspose.TeX cung cấp tính năng chuyển đổi các tệp TeX và lưu kết quả dưới dạng kho lưu trữ ZIP. Đoạn mã được cung cấp ở đây cho thấy cách chuyển đổi tệp TeX sang PDF và lưu đầu ra dưới dạng tệp zip. Trình chuyển đổi API có thể chuyển đổi các tệp TeX bằng ngôn ngữ C++ và có thể được sử dụng để tạo ứng dụng đa nền tảng hoặc tích hợp vào dự án C++ của bạn.
Để chạy các ví dụ, bạn sẽ cần Aspose.TeX cho C++ API, một công cụ xử lý và chuyển đổi tài liệu giàu tính năng và dễ sử dụng cho nền tảng C++. Bạn có thể cài đặt Aspose.TeX API bằng cách tìm kiếm nó trong trình quản lý gói NuGet hoặc bằng cách sử dụng lệnh Install-Package Aspose.TeX trong Package Manager Console.
Package Manager Console Command
PM> Install-Package Aspose.TeX
Mã ở đây đang chuyển đổi một tệp TeX và lưu nó dưới dạng PDF trong một kho lưu trữ ZIP. Thực hiện các bước tiếp theo để xử lý chuyển đổi đó:
- Tạo một phiên bản của lớp TeXOptions . Sử dụng nó để chỉ định thư mục làm việc của kho lưu trữ ZIP cho đầu ra bằng thuộc tính OutputWorkingDirectory.
- Chỉ định bảng điều khiển làm thiết bị cuối đầu ra bằng lớp OutputConsoleTerminal .
- Xác định các tùy chọn để lưu đầu ra bằng lớp PdfSaveOptions .
- Chạy chuyển đổi TeX sang PDF bằng phương thức TeXJob cho PdfDevice.
- Tinh chỉnh đầu ra.
- Hoàn tất kho lưu trữ ZIP đầu ra bằng lớp OutputZipDirectory . Mã sử dụng khối try-catch để xử lý bất kỳ ngoại lệ nào có thể xảy ra trong quá trình này.
Mã C++ để sử dụng thư mục ZIP cho đầu ra
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());
}
}TeX What is TeX File Format
TeX là một hệ thống dàn trang và ngôn ngữ lập trình cho phép tạo tài liệu chất lượng cao, đặc biệt với công thức toán học. Các tệp *.tex* là văn bản thuần, được xử lý bởi các engine TeX (pdfTeX, XeTeX, LuaTeX) để tạo ra PDF, DVI hoặc các định dạng khác.