TeXは、最も洗練されたデジタル活字システムの1つとして注目されている植字システムです。 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などの形式で出力を生成できます。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.TeX.Cpp
C++を使用してカスタムTeXフォーマットを作成する
以下は、カスタムTeX形式を作成する手順です。
- TeXConfig::get_ObjectIniTeX()プロパティ値を使用して、TeXOptionsクラスのインスタンスを作成します。
- 入力および出力の作業ディレクトリを指定します。
- TeX::CreateFormat(System::String path, System::SharedPtr options)メソッドを使用してフォーマットを作成します。
次のサンプルコードは、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 stream, System::SharedPtrPresentation::Device device, System::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");
// 'using'ステートメントでリソースをクリアしています
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->set_SaveOptions(System::SharedPtrAspose::TeX::Presentation::SaveOptions value)メソッドに渡します。
- Typeset(System::SharedPtrSystem::IO::Stream stream, System::SharedPtrPresentation::Device device, System::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");
// 'using'ステートメントでリソースをクリアしています
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の詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。