Sắp chữ TeX với ZIP I/O

Chuyển đổi TeX sang PDF bằng cách sử dụng kho lưu trữ ZIP làm đầu vào và đầu ra. API cho C++

 

Ngôn ngữ TeX là một công cụ sắp chữ để tạo các tài liệu chuyên nghiệp mà không cần bận tâm về định dạng. Aspose.TeX cung cấp cho bạn Giải pháp API cho C++, một thư viện linh hoạt và dễ sử dụng để sắp chữ các tệp TeX và LaTeX.

TeX là một hệ thống tiên tiến, mạnh mẽ, nhưng định dạng gốc của nó không được sử dụng rộng rãi bên ngoài giới học thuật và khoa học. Mặt khác, PDF là một định dạng di động có thể dễ dàng xem trên hầu hết các thiết bị và được chấp nhận rộng rãi hơn. Khả năng đọc PDF có trên mọi thiết bị, trong hầu hết các trình duyệt hiện đại. Chuyển đổi TeX sang PDF cho phép chia sẻ tài liệu với nhiều đối tượng hơn và cung cấp định dạng dễ tiếp cận hơn cho những người không có phần mềm chuyên dụng. Ngoài ra, PDF cung cấp một số lợi thế so với TeX như hiển thị phông chữ tốt hơn, hỗ trợ tính tương tác và quản lý kích thước và bố cục trang dễ dàng hơn.

API cho phép tách các thư mục đầu vào và đầu ra, cung cấp giao diện IOutputWorkingDirectory để người dùng tùy chỉnh đầu ra. Nó có triển khai riêng. Giao diện này mở rộng IInputWorkingDirectory vì công cụ có thể yêu cầu ghi vào một tệp trước khi đọc nó. Phương thức GetOutputFile() của giao diện trả về luồng để ghi, thay vì luồng đọc được cung cấp bởi GetFile().

Package Manager Console Command

PM> Install-Package Aspose.TeX.Cpp

Trong đoạn mã dưới đây, chúng tôi sẽ đặt các tệp đầu vào trong một kho lưu trữ ZIP và coi đó là một thư mục đầu vào và tạo một tệp (hoặc luồng) và để công cụ TeX sử dụng nó làm kho lưu trữ ZIP để lưu trữ các tệp đầu ra. Thực hiện theo các hướng dẫn:

  1. Mở một luồng trên kho lưu trữ ZIP sẽ đóng vai trò là thư mục làm việc đầu vào.
  2. Tạo các tùy chọn sắp chữ cho định dạng ObjectTeX mặc định trên tiện ích mở rộng công cụ ObjectTeX.
  3. Chỉ định thư mục làm việc của kho lưu trữ ZIP cho đầu vào và đầu ra bằng cách sử dụng InputZipDirectoryOutputZipDirectory Các lớp.
  4. Chỉ định bàn điều khiển làm thiết bị đầu cuối đầu ra.
  5. Sử dụng Lớp PdfSaveOptions để tạo và chỉ định các tùy chọn lưu.
  6. Chạy chuyển đổi.
  7. Tinh chỉnh đầu ra.
  8. Hoàn thiện kho lưu trữ ZIP đầu ra.

Mã C++ để chuyển đổi TeX sang PDF với đầu vào và đầu ra 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());
}



Câu hỏi thường gặp

1. Tôi có thể sắp chữ các tài liệu TeX bằng cách sử dụng tệp ZIP làm đầu vào không?

Aspose.TeX hỗ trợ đọc các tệp nguồn TeX từ các kho lưu trữ nén như tệp ZIP. Bạn có thể bao gồm tất cả các tệp cần thiết, bao gồm tệp nguồn TeX, hình ảnh và tài nguyên bổ sung, trong kho lưu trữ ZIP, sau đó chỉ định tệp ZIP làm đầu vào cho trình biên dịch LaTeX. Điều này cho phép tổ chức và phân phối các dự án LaTeX một cách thuận tiện, đặc biệt khi xử lý các tài liệu lớn hoặc phức tạp có nhiều phụ thuộc.

2. Có bất kỳ lợi ích nào khi sử dụng tệp ZIP để sắp chữ tài liệu TeX không?

Có, việc sử dụng tệp ZIP để sắp chữ tài liệu TeX mang lại một số lợi ích. Thứ nhất, tệp ZIP cung cấp một cách thuận tiện để đóng gói và sắp xếp nhiều tệp được liên kết với dự án LaTeX, bao gồm tệp nguồn TeX, thư mục, hình ảnh và tệp kiểu vào một kho lưu trữ nén duy nhất. Điều này giúp đơn giản hóa việc phân phối và chia sẻ tài liệu LaTeX, đặc biệt khi cộng tác với người khác hoặc chia sẻ dự án trực tuyến.

3. Làm cách nào để sắp chữ các tập tin TeX?

Để sắp chữ các tệp TeX bằng Giải pháp API Aspose.TeX, bạn cần tạo các tùy chọn chuyển đổi cho định dạng Object TeX hoặc Object LaTeX dựa trên tiện ích mở rộng công cụ Object TeX. Sau đó chỉ định thư mục làm việc của hệ thống tệp cho đầu ra. Cuối cùng, tạo một phiên bản của lớp TeXJob và chạy quy trình sắp chữ bằng phương thức TeXJob.Run().

TeX Những gì là TeX Tập Tin Định Dạng

TeX không thực sự là một định dạng. Nó đồng thời là ngôn ngữ lập trình và cũng là công cụ thông dịch hiểu ngôn ngữ này. Tệp TeX là tài liệu được tạo trong LaTeX. Tài liệu này có thể bao gồm đồ họa, bảng, biểu tượng, danh sách, công thức và phương trình.