TeX 파일은 텍스트, 기호 및 산술 표현식을 포함하는 다양한 문서 및 책을 조판하는 데 사용됩니다. 또한 이러한 파일은 PDF, XPS 및 다양한 이미지 형식과 같은 출력을 생성할 수 있습니다. 이 기사에서는 C++를 사용하여 TeX 파일을 XPS 및 PDF 형식으로 변환하는 방법을 배웁니다.
- TeX를 PDF 및 XPS 형식으로 변환하기 위한 C++ API
- C++를 사용하여 TeX를 XPS 형식으로 변환
- C++를 사용하여 TeX를 PDF 형식으로 변환
- C++를 사용하여 TeX ZIP 디렉토리를 PDF ZIP 디렉토리로 변환
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 형식으로 변환할 수 있습니다. 이를 달성하려면 아래에 제공된 단계를 따르십시오.
- [TeXConfig::ObjectTeX(System::SharedPtr)를 사용하여 TeXOptions 클래스의 인스턴스를 만듭니다.Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr)]14 멤버 함수입니다.
- 입력 및 출력 작업 디렉토리를 지정하십시오.
- 콘솔 또는 메모리 스트림을 출력 터미널로 지정하십시오.
- TeX::Typeset(System::String path, System::SharedPtr)을 사용하여 출력 XPS 파일을 저장합니다.Presentation::Device 장치, 시스템::SharedPtr options) 메서드를 XpsDevice 클래스의 인스턴스와 함께 사용합니다.
다음 샘플 코드는 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 형식으로 변환하는 단계입니다.
- [TeXConfig::ObjectTeX(System::SharedPtr)를 사용하여 TeXOptions 클래스의 인스턴스를 만듭니다.Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr)]18 멤버 함수입니다.
- 입력 및 출력 작업 디렉토리를 지정하십시오.
- 콘솔 또는 메모리 스트림을 출력 터미널로 지정하십시오.
- PdfSaveOptions 클래스의 인스턴스를 TeXOptions->setSaveOptions(System::SharedPtr)에 전달합니다.Aspose::TeX::Presentation::SaveOptions 값) 메서드입니다.
- TeX::Typeset(System::String path, System::SharedPtr)을 사용하여 출력 PDF 파일을 저장합니다.Presentation::Device 장치, 시스템::SharedPtr options) 메서드를 PdfDevice 클래스의 인스턴스와 함께 사용합니다.
다음 샘플 코드는 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 파일로 변환할 수 있습니다. 이를 달성하기 위한 단계는 다음과 같습니다.
- 스트림에 입력 및 출력 ZIP 아카이브를 로드합니다.
- [TeXConfig::ObjectTeX(System::SharedPtr)를 사용하여 TeXOptions 클래스의 인스턴스를 만듭니다.Aspose::TeX::ResourceProviders::FormatProvider formatProvider = nullptr)]24 멤버 함수입니다.
- 입력 및 출력 작업 디렉토리를 설정합니다.
- 콘솔 또는 메모리 스트림을 출력 터미널로 지정하십시오.
- PdfSaveOptions 클래스의 인스턴스를 TeXOptions->setSaveOptions(System::SharedPtr)에 전달합니다.Aspose::TeX::Presentation::SaveOptions 값) 메서드입니다.
- TeX::Typeset(System::String path, System::SharedPtr)을 사용하여 압축된 출력 PDF 파일을 저장합니다.Presentation::Device 장치, 시스템::SharedPtr options) 메서드를 PdfDevice 클래스의 인스턴스와 함께 사용합니다.
다음 샘플 코드는 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에 대해 자세히 알아볼 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.