C++를 사용하여 프로그래밍 방식으로 TeX를 PDF 또는 XPS 파일로 변환

TeX 파일은 텍스트, 기호 및 산술 표현식을 포함하는 다양한 문서 및 책을 조판하는 데 사용됩니다. 또한 이러한 파일은 PDF, XPS 및 다양한 이미지 형식과 같은 출력을 생성할 수 있습니다. 이 기사에서는 C++를 사용하여 TeX 파일을 XPS 및 PDF 형식으로 변환하는 방법을 배웁니다.

TeX를 PDF 및 XPS 형식으로 변환하기 위한 C++ API

Aspose.TeX for C++는 추가 소프트웨어 설치 없이 TeX 파일 작업을 위한 C++ 라이브러리입니다. API를 사용하면 TeX 파일을 조판하고 XPS, PDF, PNG, JPEG, TIFF, BMP. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.TeX.Cpp

C++를 사용하여 TeX를 XPS 형식으로 변환

몇 줄의 코드만으로 TeX 파일을 XPS 형식으로 변환할 수 있습니다. 이를 달성하려면 아래에 제공된 단계를 따르십시오.

다음 샘플 코드는 C++를 사용하여 TeX 파일을 XPS 형식으로 변환하는 방법을 보여줍니다.

// ObjectTeX 엔진 확장에서 기본 ObjectTeX 형식에 대한 조판 옵션을 만듭니다.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// 입력을 위한 파일 시스템 작업 디렉토리를 지정하십시오.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// 출력을 위한 파일 시스템 작업 디렉토리를 지정하십시오.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// 콘솔을 출력 터미널로 지정하십시오.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// 기본. 지정할 필요가 없습니다.
// 터미널 출력을 콘솔에 쓰지 않으려면 메모리 스트림을 출력 터미널로 지정하십시오.
//options.TerminalOut = 새로운 OutputMemoryTerminal();

// 조판을 실행합니다.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<XpsDevice>(), options);

// 추가 출력을 보려면 작성하십시오.
options->get_TerminalOut()->get_Writer()->WriteLine();

C++를 사용하여 TeX를 PDF 형식으로 변환

다음은 TeX 파일을 PDF 형식으로 변환하는 단계입니다.

다음 샘플 코드는 C++를 사용하여 TeX 파일을 PDF 형식으로 변환하는 방법을 보여줍니다.

// ObjectTeX 엔진 확장에서 기본 ObjectTeX 형식에 대한 조판 옵션을 만듭니다.
System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

// 입력을 위한 파일 시스템 작업 디렉토리를 지정하십시오.
options->set_InputWorkingDirectory(System::MakeObject<InputFileSystemDirectory>(u"SourceDirectory"));

// 출력을 위한 파일 시스템 작업 디렉토리를 지정하십시오.
options->set_OutputWorkingDirectory(System::MakeObject<OutputFileSystemDirectory>(u"OutputDirectory"));

// 콘솔을 출력 터미널로 지정하십시오.
options->set_TerminalOut(System::MakeObject<Aspose::TeX::IO::OutputConsoleTerminal>());
// 기본. 지정할 필요가 없습니다.
// 터미널 출력을 콘솔에 쓰지 않으려면 메모리 스트림을 출력 터미널로 지정하십시오.
//options.TerminalOut = 새로운 OutputMemoryTerminal();

// PdfSaveOptions 설정
options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

// 조판을 실행합니다.
Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

// 추가 출력을 보려면 작성하십시오.
options->get_TerminalOut()->get_Writer()->WriteLine();

C++를 사용하여 TeX ZIP 디렉토리를 PDF ZIP 디렉토리로 변환

여러 TeX 파일을 한 번에 PDF 형식으로 변환하려면 TeX 파일을 ZIP 아카이브에 추가하고 압축된 PDF 파일로 변환할 수 있습니다. 이를 달성하기 위한 단계는 다음과 같습니다.

다음 샘플 코드는 C++를 사용하여 TeX ZIP 아카이브를 PDF ZIP 아카이브로 변환하는 방법을 보여줍니다.

// 스트림에서 소스 zip 파일 열기
System::SharedPtr<System::IO::Stream> inZipStream = System::IO::File::Open(System::IO::Path::Combine(u"SourceDirectory", u"zip-in.zip"), System::IO::FileMode::Open);
// 'using' 문에서 리소스 지우기
System::Details::DisposeGuard<1> __dispose_guard_1({ inZipStream });
// ------------------------------------------

try {
    // 스트림에서 출력 zip 파일 열기
    System::SharedPtr<System::IO::Stream> outZipStream = System::IO::File::Open(System::IO::Path::Combine(u"OutputDirectory", u"zip-pdf-out.zip"), System::IO::FileMode::Create);
    // 'using' 문에서 리소스 지우기
    System::Details::DisposeGuard<1> __dispose_guard_0({ outZipStream });
    // ------------------------------------------

    try
    {
        // ObjectTeX 엔진 확장에서 기본 ObjectTeX 형식에 대한 조판 옵션을 만듭니다.
        System::SharedPtr<TeXOptions> options = TeXOptions::ConsoleAppOptions(TeXConfig::ObjectTeX());

        // 입력을 위해 ZIP 아카이브 작업 디렉토리를 지정하십시오.
        options->set_InputWorkingDirectory(System::MakeObject<InputZipDirectory>(inZipStream, u"in"));

        // 출력을 위해 ZIP 아카이브 작업 디렉토리를 지정하십시오.
        options->set_OutputWorkingDirectory(System::MakeObject<OutputZipDirectory>(outZipStream));

        // 콘솔을 출력 터미널로 지정하십시오.
        options->set_TerminalOut(System::MakeObject<OutputConsoleTerminal>());
        // 기본. 지정할 필요는 없습니다.

        // 저장 옵션을 만들고 지정합니다.
        options->set_SaveOptions(System::MakeObject<PdfSaveOptions>());

        // 조판을 실행합니다.
        Aspose::TeX::TeX::Typeset(u"hello-world", System::MakeObject<PdfDevice>(), options);

        // 결과적인 출력을 보기 위해 작성합니다. 
        options->get_TerminalOut()->get_Writer()->WriteLine();

        // 출력 ZIP 아카이브를 완료합니다.
        (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());
}

무료 라이선스 받기

무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 기사에서는 C++를 사용하여 TeX 파일을 XPS 및 PDF 형식으로 변환하는 방법을 배웠습니다. 또한 ZIP 아카이브의 TeX 파일을 ZIP PDF 파일로 변환하는 방법을 배웠습니다. Aspose.TeX for C++는 TeX 파일 작업을 위한 많은 추가 기능을 제공합니다. 공식 문서를 방문하시면 API에 대해 자세히 알아볼 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.

또한보십시오