TeXをPDFXPSに変換する

TeXファイルには、テキスト、記号、または算術式を含めることができます。これらはドキュメントの植字に使用され、TeX入力をPDFXPS、およびその他のいくつかのサポートされている形式に植字できます。この記事では、C#を使用してプログラムでTeXをPDFまたはXPSファイルに変換する方法を学習します。次のセクションでは、このトピックについて詳しく説明します。

TeXからPDFまたはXPSへのコンバーター– C#APIのインストール

Aspose.TeX for .NET APIは、TeXファイルをPDF、XPS、画像などのさまざまなファイル形式に植字するために設計されています。 ダウンロードセクションからDLLファイルをダウンロードしてAPIをすばやく構成するか、次のインストールコマンドを使用してNuGetからインストールできます。

PM> Install-Package Aspose.TeX

C#を使用してプログラムでTeX(LaTeX)をPDFに変換する

以下の手順でTeXをPDFファイルに変換できます。

  1. デフォルトのObjectTeX形式の植字オプションを作成します。
  2. コンソールまたはメモリストリームを出力端子として指定します。
  3. PDF形式にレンダリングするためのオプションを設定します。
  4. TexJobクラスコンストラクターを呼び出し、PdfDeviceクラスオブジェクトを使用して出力PDFを保存します。

次のコードスニペットは、C#を使用してプログラムでTeXをPDFファイルに変換する方法を説明しています。

String dataDir = @"D:\test\";

// デフォルトのObjectTeX形式の植字オプションを作成します。
TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());

// 入力するファイルシステムの作業ディレクトリを指定します。
options.InputWorkingDirectory = new InputFileSystemDirectory(dataDir);

// 出力するファイルシステムの作業ディレクトリを指定します。
options.OutputWorkingDirectory = new OutputFileSystemDirectory(dataDir);

// 出力端子としてメモリストリームを指定します。
options.TerminalOut = new OutputMemoryTerminal();

// PDF形式にレンダリングするためのオプションを設定します。
options.SaveOptions = new PdfSaveOptions();

// 組版を実行します。
new TeXJob("hello-world", new PdfDevice(), options);

TexJobクラスコンストラクターに渡される引数はここで注目に値します。 1つ目は入力TeXファイルへのパスを参照し、2つ目はDeviceタイプを参照し、3つ目はTexOptionsを参照します。

C#を使用してTeXZIPディレクトリをPDFZIPディレクトリに変換する

一度に複数のTeXファイルをPDFに変換する必要がある場合があります。このような場合、ZIPアーカイブ内のTeXファイルをzip形式のPDFドキュメントに変換できます。以下の手順に従う必要があります。

  1. 入力および出力の作業ディレクトリとしてZIPアーカイブのストリームを開きます。
  2. TeXOptionsクラスオブジェクトを使用して植字オプションを作成します。
  3. PdfSaveOptionsを使用して、保存オプションを作成および指定します。
  4. TexJobクラスコンストラクターで植字を実行します。

以下のコードは、C#を使用してプログラムでTeXZIPアーカイブをPDFZIPアーカイブに変換する方法を詳しく説明しています。

String dataDir = @"D:\test\";

// 入力作業ディレクトリとして機能するZIPアーカイブでストリームを開きます。
using (Stream inZipStream = File.Open(Path.Combine(dataDir, "zip-in.zip"), FileMode.Open))

// 出力作業ディレクトリとして機能するZIPアーカイブでストリームを開きます。
using (Stream outZipStream = File.Open(Path.Combine(dataDir, "terminal-out-to-zip.zip"), FileMode.Create))
{
    // ObjectTeXエンジン拡張機能でデフォルトのObjectTeX形式の植字オプションを作成します。
    TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());

    // ジョブ名を指定してください。
    options.JobName = "terminal-output-to-zip";

    // 入力用のZIPアーカイブ作業ディレクトリを指定します。
    options.InputWorkingDirectory = new InputZipDirectory(inZipStream, "in");

    // 出力用のZIPアーカイブ作業ディレクトリを指定します。
    options.OutputWorkingDirectory = new OutputZipDirectory(outZipStream);

    // 端末出力を出力作業ディレクトリ内のファイルに書き込む必要があることを指定します。
    options.TerminalOut = new OutputFileTerminal(options.OutputWorkingDirectory);

    // 保存オプションを作成して指定します。
    options.SaveOptions = new PdfSaveOptions();

    // 組版を実行します。
    new TeXJob("hello-world", new PdfDevice(), options);

    // 出力ZIPアーカイブを完成させます。
    ((OutputZipDirectory)options.OutputWorkingDirectory).Finish();
}

C#を使用してプログラムでTeX(LaTeX)をXPSファイルに変換する

次の手順でTeXをXPSファイルに変換できます。

  1. ObjectTeXエンジン拡張で植字オプションを作成します。
  2. 入力および出力用のファイルシステムの作業ディレクトリを指定します。
  3. XpsDeviceでタイプセットを実行して、TeXをXPSに変換します。

次のコードは、C#を使用してプログラムでTeXファイルをXPSに変換する方法を示しています。

String dataDir = @"D:\test\";

// ObjectTeXエンジン拡張機能でデフォルトのObjectTeX形式の植字オプションを作成します。
TeXOptions options = TeXOptions.ConsoleAppOptions(TeXConfig.ObjectTeX());

// 入力するファイルシステムの作業ディレクトリを指定します。
options.InputWorkingDirectory = new InputFileSystemDirectory(dataDir);

// 出力するファイルシステムの作業ディレクトリを指定します。
options.OutputWorkingDirectory = new OutputFileSystemDirectory(dataDir);

// コンソールを出力端子として指定します。
options.TerminalOut = new OutputConsoleTerminal();

// 組版を実行する
new TeXJob("hello-world", new XpsDevice(), options);

無料のAPIライセンスを取得する

無料一時ライセンスをリクエストすることで、フルアクセスでAPIを評価できます。

結論

この記事では、C#を使用してプログラムでTeXファイルをPDFまたはXPSファイルに変換する方法について説明しました。さらに、ZIPアーカイブ内のTeXファイルを変換して出力ZIPディレクトリを作成する方法も学習しました。 APIドキュメントにアクセスすると、他のいくつかの機能を確認できます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目