C++を使用してカスタムTeXフォーマットとタイプセットをPDFとXPSに作成

TeXは、最も洗練されたデジタル活字システムの1つとして注目されている植字システムです。 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などの形式で出力を生成できます。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

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");

    // '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形式に植字するための手順です。

// ファイルシステム入力作業ディレクトリを作成します。
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の詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目