ZIP으로 출력 쓰기
C++를 통해 TeX 파일 변환 결과를 ZIP으로 저장
TeX은 데이터 마크업 언어이자 출판 세트 시스템으로도 알려진 컴퓨터 조판 시스템의 핵심입니다. 종종 파일 형식으로 언급되지만, 실제로는 수학, 기술 및 기타 복잡한 문서를 만드는 데 사용되는 프로그래밍 언어 및 인터프리터 엔진입니다. 그러나 파일이 생성되면 모든 장치와 플랫폼에서 결과를 사용할 수 있도록 더 인기 있는 형식으로 변환해야 할 수도 있습니다.
Aspose.TeX API 솔루션은 TeX 파일을 변환하고 결과를 ZIP 아카이브로 저장하는 기능을 제공합니다. 여기에 제공된 코드 스니펫은 TeX 파일을 PDF로 변환하고 출력을 zip 파일로 저장하는 방법을 보여줍니다. API 컨버터는 C++ 언어로 TeX 파일을 변환할 수 있으며 크로스 플랫폼 애플리케이션을 만들거나 C++ 프로젝트에 통합하는 데 사용할 수 있습니다.
예제를 실행하려면 C++ 플랫폼용 기능이 풍부하고 사용하기 쉬운 문서 조작 및 변환 도구인 C++용 Aspose.TeX API가 필요합니다. NuGet 패키지 관리자에서 검색하거나 패키지 관리자 콘솔에서 Install-Package Aspose.TeX 명령을 사용하여 Aspose.TeX API를 설치할 수 있습니다.
Package Manager Console Command
PM> Install-Package Aspose.TeX
여기에 있는 코드는 TeX 파일을 변환하여 ZIP 아카이브의 PDF로 저장합니다. 이러한 변환을 처리하려면 다음 단계를 수행하세요.
- TeXOptions 클래스의 인스턴스를 생성합니다. 이를 사용하여 OutputWorkingDirectory 속성을 사용하여 출력용 ZIP 아카이브 작업 디렉터리를 지정합니다.
- OutputConsoleTerminal 클래스를 사용하여 콘솔을 출력 터미널로 지정합니다.
- PdfSaveOptions 클래스를 사용하여 출력 저장 옵션을 정의합니다.
- PdfDevice용 TeXJob 메서드를 사용하여 TeX에서 PDF로의 변환을 실행합니다.
- 출력을 다듬습니다.
- 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());
}
}TeX What is TeX File Format
TeX는 고품질 문서와 수식 작성을 위한 조판 시스템이자 프로그래밍 언어입니다. .tex 파일은 일반 텍스트이며 pdfTeX, XeTeX, LuaTeX와 같은 TeX 엔진에 의해 PDF 또는 DVI로 변환됩니다. TeX는 정확한 레이아웃과 수학 표현을 제어합니다.