TeX 是一種排版系統,被認為是最複雜的數字印刷系統之一。 TeX 用於排版文檔和生成輸出,如 PDF、XPS 和不同的圖像格式。可能會出現需要統一設計一堆文檔的情況。為此,創建自定義 TeX 格式將被證明是有幫助的。為此,本文將教您如何創建自定義 TeX 格式並使用 C++ 將其排版為 PDF 和 XPS 格式。
- 用於創建自定義 TeX 格式並將其排版為 PDF 和 XPS 的 C++ API
- 使用 C++ 創建自定義 TeX 格式
- 將自定義 TeX 格式排版為 XPS 格式
- 將自定義 TeX 格式排版為 PDF 格式
用於創建自定義 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 格式的步驟。
- 使用 TeXConfig::getObjectIniTeX() 屬性值創建 TeXOptions 類的實例。
- 指定輸入和輸出工作目錄。
- 使用 TeX::CreateFormat(System::String path, System::SharedPtr選項) 方法。
以下示例代碼演示瞭如何使用 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 格式的步驟。
- 創建 IWorkingDirectory 類的一個實例來表示輸入工作目錄。
- 使用 FormatProvider 類加載 TeX 文件。
- 使用先前創建的 FormatProvider 對象創建 TeXOptions 類的實例。
- 設置 JobName、InputWorkingDirectory 和 OutputWorkingDirectory。
- 使用 Typeset(System::SharedPtrSystem::IO::Stream流,系統::SharedPtrPresentation::Device設備,系統::SharedPtr options) 方法並將 XpsDevice 對像作為參數傳遞以創建 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 格式的步驟。
- 創建 IWorkingDirectory 類的一個實例來表示輸入工作目錄。
- 使用 FormatProvider 類加載 TeX 文件。
- 使用先前創建的 FormatProvider 對象創建 TeXOptions 類的實例。
- 設置 JobName、InputWorkingDirectory 和 OutputWorkingDirectory。
- 創建 PdfSaveOptions 類的實例並將其傳遞給 TeXOptions->setSaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions值) 方法。
- 使用 Typeset(System::SharedPtrSystem::IO::Stream流,系統::SharedPtrPresentation::Device設備,系統::SharedPtr options) 方法並將 PdfDevice 對像作為參數傳遞以創建 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。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。