使用 C++ 創建自定義 TeX 格式並排版為 PDF 和 XPS

TeX 是一種排版系統,被認為是最複雜的數字印刷系統之一。 TeX 用於排版文檔和生成輸出,如 PDFXPS 和不同的圖像格式。可能會出現需要統一設計一堆文檔的情況。為此,創建自定義 TeX 格式將被證明是有幫助的。為此,本文將教您如何創建自定義 TeX 格式並使用 C++ 將其排版為 PDF 和 XPS 格式。

用於創建自定義 TeX 格式並將其排版為 PDF 和 XPS 的 C++ API

Aspose.TeX for C++ 是一個用於處理 TeX 文件的 C++ 庫,無需安裝任何額外的軟件。該 API 允許您排版 TeX 文件,創建自定義 TeX 格式,並生成 XPS、PDF、PNG、JPEG、TIFF、BMP 等格式的輸出。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.TeX.Cpp

使用 C++ 創建自定義 TeX 格式

以下是創建自定義 TeX 格式的步驟。

以下示例代碼演示瞭如何使用 C++ 創建自定義 TeX 格式。

// 在 ObjectTeX 引擎擴展上創建排版選項。
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::get_ObjectIniTeX());

// 為輸入指定一個文件系統工作目錄。
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// 為輸出指定一個文件系統工作目錄。
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// 運行格式創建。
Aspose::TeX::TeX::CreateFormat(u"customtex", options);

將自定義 TeX 格式排版為 XPS 格式

以下是將自定義 TeX 格式排版為 XPS 格式的步驟。

以下是將自定義 TeX 格式排版為 XPS 格式的示例代碼。

// 創建文件系統輸入工作目錄。
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // 創建格式提供程序。
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // 清除“正在使用”語句下的資源
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // 在 ObjectTeX 引擎擴展上為自定義格式創建排版選項。
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // 指定輸入工作目錄。
        options->set_InputWorkingDirectory(wd);

        // 為輸出指定一個文件系統工作目錄。
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // 運行排版。
        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());
    }
}

將自定義 TeX 格式排版為 PDF 格式

以下是將自定義 TeX 格式排版為 PDF 格式的步驟。

以下示例代碼顯示瞭如何將自定義 TeX 格式排版為 PDF 格式。

// 創建文件系統輸入工作目錄。
System::SharedPtr<IWorkingDirectory> wd = System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory");
{
    // 創建格式提供程序。
    System::SharedPtr<FormatProvider> formatProvider = System::MakeObject<FormatProvider>(wd, u"customtex");

    // 清除“正在使用”語句下的資源
    System::Details::DisposeGuard<1> __dispose_guard_0({ formatProvider });
    // ------------------------------------------

    try
    {
        // 在 ObjectTeX 引擎擴展上為自定義格式創建排版選項。
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX(formatProvider));
        options->set_JobName(u"typeset-with-custom-format");

        // 指定輸入工作目錄。
        options->set_InputWorkingDirectory(wd);

        // 為輸出指定一個文件系統工作目錄。
        options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

        // 指定 PdfSaveOptions
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // 運行排版。
        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());
    }
}

獲得免費許可證

您可以通過申請 免費的臨時許可證 來試用沒有評估限制的 API。

結論

在本文中,您學習瞭如何使用 C++ 創建自定義 TeX 格式。此外,您還學習瞭如何使用 Aspose.TeX for C++ API 將自定義 TeX 格式排版為 PDF 和 XPS 格式。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看