Tạo Định dạng TeX Tùy chỉnh và Bộ gõ sang PDF và XPS bằng C ++

TeX là một hệ thống sắp chữ đã được ghi nhận là một trong những hệ thống sắp chữ kỹ thuật số phức tạp nhất. TeX được sử dụng để sắp chữ tài liệu và tạo ra các đầu ra như PDF, XPS và các định dạng hình ảnh khác nhau. Có thể có những tình huống mà bạn cần thiết kế một loạt các tài liệu một cách thống nhất. Vì vậy, việc tạo định dạng TeX tùy chỉnh sẽ tỏ ra hữu ích. Để đạt được mục tiêu đó, bài viết này sẽ hướng dẫn bạn cách tạo định dạng TeX tùy chỉnh và sắp chữ thành định dạng PDF và XPS bằng C ++.

API C ++ để tạo định dạng TeX tùy chỉnh và thiết lập nó thành PDF và XPS

Aspose.TeX for C ++ là thư viện C ++ để làm việc với các tệp TeX mà không yêu cầu cài đặt thêm bất kỳ phần mềm nào. API cho phép bạn sắp chữ các tệp TeX, tạo định dạng TeX tùy chỉnh và tạo đầu ra ở các định dạng như XPS, PDF, PNG, JPEG, TIFF, BMP. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.TeX.Cpp

Tạo định dạng TeX tùy chỉnh bằng C ++

Sau đây là các bước để tạo định dạng TeX tùy chỉnh.

Đoạn mã mẫu sau đây trình bày cách tạo định dạng TeX tùy chỉnh bằng C ++.

// Tạo các tùy chọn sắp chữ trên tiện ích mở rộng công cụ ObjectTeX.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// Chỉ định một thư mục làm việc của hệ thống tệp cho đầu vào.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// Chỉ định một thư mục làm việc của hệ thống tệp cho đầu ra.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// Chạy tạo định dạng.
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

Bộ định dạng TeX tùy chỉnh thành định dạng XPS

Sau đây là các bước để sắp chữ định dạng TeX tùy chỉnh sang định dạng XPS.

Sau đây là mã mẫu để thiết lập một định dạng TeX tùy chỉnh sang định dạng XPS.

// Tạo một thư mục làm việc đầu vào của hệ thống tệp.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Tạo nhà cung cấp định dạng.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Xóa tài nguyên trong câu lệnh 'using'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Tạo các tùy chọn sắp chữ cho một định dạng tùy chỉnh trên tiện ích mở rộng công cụ ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Chỉ định thư mục làm việc đầu vào.
        options->set_InputWorkingDirectory(wd);

        // Chỉ định một thư mục làm việc của hệ thống tệp cho đầu ra.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Chạy sắp chữ.
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<XpsDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

Bộ gõ định dạng TeX tùy chỉnh sang định dạng PDF

Sau đây là các bước để sắp chữ định dạng TeX tùy chỉnh sang định dạng PDF.

Đoạn mã mẫu sau đây cho thấy cách thiết lập một định dạng TeX tùy chỉnh sang định dạng PDF.

// Tạo một thư mục làm việc đầu vào của hệ thống tệp.
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // Tạo nhà cung cấp định dạng.
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // Xóa tài nguyên trong câu lệnh 'using'
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // Tạo các tùy chọn sắp chữ cho một định dạng tùy chỉnh trên tiện ích mở rộng công cụ ObjectTeX.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // Chỉ định thư mục làm việc đầu vào.
        options->set_InputWorkingDirectory(wd);

        // Chỉ định một thư mục làm việc của hệ thống tệp cho đầu ra.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // Chỉ định PdfSaveOptions
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // Chạy sắp chữ.
        Aspose::TeX::TeX::Typeset(System::MakeObject<System::IO::MemoryStream>(System::Text::Encoding::get_ASCII()->GetBytes(u"Congratulations! You have successfully typeset this text with your own TeX format!\\end")), System::MakeObject<PdfDevice>(), options);
    }
    catch (...)
    {
        __dispose_guard_0.SetCurrentException(std::current_exception());
    }
}

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài này, bạn đã học cách tạo định dạng TeX tùy chỉnh bằng C ++. Hơn nữa, bạn đã học cách sắp chữ một định dạng TeX tùy chỉnh sang các định dạng PDF và XPS bằng cách sử dụng Aspose.TeX cho C ++ API. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm