出力を ZIP に書き込む

TeX ファイル変換の結果を C++ 経由で ZIP として保存します

 

TeX はデータ マークアップ言語であり、パブリケーション セット システムとしても知られるコンピューター組版システムの中核です。多くの場合、ファイル形式と呼ばれますが、実際には、数学、技術、およびその他の複雑なドキュメントを作成するために使用されるプログラミング言語およびインタープリター エンジンです。ただし、ファイルが作成されると、結果を任意のデバイスやプラットフォームで使用できるようにするために、より一般的な形式に変換することが必要になる場合があります。

Aspose.TeX API ソリューションは、TeX ファイルを変換し、結果を ZIP アーカイブとして保存する機能を提供します。ここで提供されるコード スニペットは、TeX ファイルを PDF に変換し、出力を zip ファイルとして保存する方法を示しています。 API コンバーターは TeX ファイルを C++ 言語に変換でき、クロスプラットフォーム アプリケーションの作成や C++ プロジェクトへの統合に使用できます。

サンプルを実行するには、C++ プラットフォーム用の機能豊富で使いやすいドキュメント操作および変換ツールである Aspose.TeX for C++ API が必要です。 Aspose.TeX API は、NuGet パッケージ マネージャーで検索するか、パッケージ マネージャー コンソールで Install-Package Aspose.TeX コマンドを使用してインストールできます。

Package Manager Console Command


    PM> Install-Package Aspose.TeX

ここのコードは、TeX ファイルを変換し、それを PDF として ZIP アーカイブに保存しています。このような変換を処理するには、次の手順を実行します。

  1. TeXOptions クラスのインスタンスを作成します。 OutputWorkingDirectory プロパティを使用して、出力用の ZIP アーカイブ作業ディレクトリを指定するために使用します。
  2. OutputConsoleTerminal クラスを使用して、コンソールを出力ターミナルとして指定します。
  3. PdfSaveOptions クラスを使用して、出力を保存するためのオプションを定義します。
  4. TeXJob メソッドを PdfDevice に使用して、TeX から PDF への変換を実行します。
  5. 出力を絞り込みます。
  6. OutputZipDirectory クラスを使用して、出力 ZIP アーカイブをファイナライズします。このコードは、try-catch ブロックを使用して、プロセス中に発生する可能性のある例外を処理します。

出力に ZIP ディレクトリを使用するための C++ コード

    using Aspose::TeX::IO;
    using Aspose::TeX::Presentation::Pdf;
    using System::IO;
    // Open a stream on a ZIP archive that will serve as the input working directory.
    {
        System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::InputDirectory, u"zip-in.zip"), System::IO::FileMode::Open);
        // Clearing resources under 'using' statement
        System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream});
        // ------------------------------------------

        try{
            System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(RunExamples::OutputDirectory, u"zip-pdf-out.zip"), System::IO::FileMode::Create);
            // Clearing resources under 'using' statement
            System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream});
            // ------------------------------------------

            try
            {
                // Create typesetting options for default ObjectTeX format on ObjectTeX engine extension.
                System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());
                // Specify a ZIP archive working directory for the input.
                options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));
                // Specify a ZIP archive working directory for the output.
                options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));
                // Specify the console as an output terminal.
                options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
                // Default. Not necessary to specify.

                // Create and specify saving options.
                options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());
                // Run typesetting.
                Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

                // For the consequent output to look right. 
                options->get_TerminalOut()->get_Writer()->WriteLine();

                // Finalize the output ZIP archive.
                (System::DynamicCast<Aspose::TeX::IO::OutputZipDirectory>(options->get_OutputWorkingDirectory()))->Finish();
            }
            catch(...)
            {
                __dispose_guard_0.SetCurrentException(std::current_exception());
            }
        }
        catch(...)
        {
            __dispose_guard_1.SetCurrentException(std::current_exception());
        }
    }



よくある質問

1. TeX 出力を表示するにはどうすればよいですか?

TeX ファイルを開いて写植結果を確認するには、クロスプラットフォームの TeX Viewer を使用します。ファイルを画像として保存することもできます。

2. TeX 出力を ZIP アーカイブに書き込むことはできますか?

はい、この API ソリューションはそのような機能を提供します。作業ディレクトリが ZIP アーカイブである場合に、書き込むファイル ストリームを取得するメソッドを実装する OutputZipDirectory クラスが必要になります。

3. TeX 出力を ZIP アーカイブに書き込むにはどうすればよいですか?

TeXOptions クラスのインスタンスを作成します。次に、出力用の ZIP アーカイブ作業ディレクトリを指定します。保存オプションを指定して変換を実行します。最後に、Finish() メソッドを呼び出して、ZIP アーカイブへの出力の書き込みを終了します。

TeX TeX ファイル形式とは

TeX は実際にはフォーマットではありません。プログラミング言語であると同時に、この言語を理解するインタープリター エンジンでもあります。 TeX ファイルは、LaTeX で作成されたドキュメントです。このドキュメントには、グラフィック、表、記号、リスト、数式、および方程式を含めることができます。