C++를 사용하여 PUB를 이미지로 변환

Microsoft Publisher(PUB) 파일은 정보를 인쇄하거나 게시하는 데 사용됩니다. 이러한 파일을 공유해야 하고 받는 사람이 Microsoft Publisher에 액세스할 수 없는 시나리오가 있을 수 있습니다. 이러한 경우 공유하기 전에 이러한 파일을 이미지로 변환하는 것이 도움이 될 수 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 PUB 파일을 다양한 이미지 형식으로 변환하는 방법을 설명합니다.

PUB 파일을 이미지 형식으로 변환하기 위한 C++ API

Aspose.PUB for C++Aspose.PDF for C++ API를 사용하여 이 변환을 수행합니다. 전자는 PUB(Microsoft Publisher) 파일 작업을 위한 라이브러리이고 후자는 PDF 파일을 만들고 읽고 수정하기 위한 라이브러리입니다. C++용 Aspose.PUB API를 사용하여 PUB 파일을 PDF 형식으로 변환하고 Aspose.PDF for C++ API를 사용하여 생성된 PDF 파일을 이미지 형식으로 변환합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.PUB.Cpp
PM> Install-Package Aspose.PDF.Cpp

C++를 사용하여 PUB 파일을 JPG 이미지로 변환

다음은 PUB 파일을 JPG 이미지로 변환하는 단계입니다.

다음 샘플 코드는 C++를 사용하여 PUB 파일을 JPG 이미지로 변환하는 방법을 보여줍니다.

// 소스 PUB 및 출력 PDF 파일 경로
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// PUB 파일 로드
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// PUB 파일을 PDF로 변환
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// 생성된 PDF 파일 로드
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// PDF 페이지 반복
for (auto page : pdfDocument->get_Pages())
{
	// PDF 페이지의 치수 가져오기
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Resolution 클래스의 인스턴스 만들기
	auto resolution = MakeObject<Devices::Resolution>(300);

	// 지정된 너비, 높이 및 해상도로 JPEG 장치 만들기
	auto device = MakeObject<Devices::JpegDevice>(width, height, resolution);

	// 출력 이미지에 대한 파일 스트림 생성
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.jpg", page->get_Number()));

	// PDF 페이지를 JPG 이미지로 변환
	device->Process(page, imageStream);

	// 스트림 닫기
	imageStream->Close();
}

C++를 사용하여 PUB 파일을 PNG 이미지로 변환

PUB 파일을 PNG 이미지로 변환하려면 다음 단계를 따르십시오.

다음 샘플 코드는 C++를 사용하여 PUB 파일을 PNG 이미지로 변환하는 방법을 보여줍니다.

// 소스 PUB 및 출력 PDF 파일 경로
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// PUB 파일 로드
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// PUB 파일을 PDF로 변환
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// 생성된 PDF 파일 로드
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// PDF 페이지 반복
for (auto page : pdfDocument->get_Pages())
{
	// PDF 페이지의 치수 가져오기
	int width = info->GetPageWidth(page->get_Number());
	int height = info->GetPageHeight(page->get_Number());

	// Resolution 클래스의 인스턴스 만들기
	auto resolution = MakeObject<Devices::Resolution>(300);

	// 지정된 너비, 높이 및 해상도로 PNG 장치 만들기
	auto device = MakeObject<Devices::PngDevice>(width, height, resolution);

	// 출력 이미지에 대한 파일 스트림 생성
	System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(String::Format(u"OutputDirectory\\page_{0}.png", page->get_Number()));

	// PDF 페이지를 PNG 이미지로 변환
	device->Process(page, imageStream);

	// 스트림 닫기
	imageStream->Close();
}

C++를 사용하여 PUB 파일을 TIFF 이미지로 변환

다음은 PUB 파일을 TIFF 이미지로 변환하는 단계입니다.

다음 샘플 코드는 C++를 사용하여 PUB 파일을 TIFF 이미지로 변환하는 방법을 보여줍니다.

// 소스 PUB 및 출력 PDF 파일 경로
System::String filePub = u"SourceDirectory\\1.pub";
System::String filePdf = u"OutputDirectory\\1.pdf";

// PUB 파일 로드
System::SharedPtr<IPubParser> parser = PubFactory::CreateParser(filePub);
System::SharedPtr<Aspose::Pub::Document> document = parser->Parse();

// PUB 파일을 PDF로 변환
PubFactory::CreatePdfConverter()->ConvertToPdf(document, filePdf);

// 생성된 PDF 파일 로드
auto pdfDocument = MakeObject<Aspose::Pdf::Document>(filePdf);
auto info = MakeObject<Facades::PdfFileInfo>(pdfDocument);

// 첫 번째 PDF 페이지의 크기 가져오기
int width = info->GetPageWidth(1);
int height = info->GetPageHeight(1);

// Resolution 클래스의 인스턴스 만들기
auto resolution = MakeObject<Devices::Resolution>(300);

// TiffSettings 클래스의 인스턴스를 만들고 필요한 설정을 지정합니다.
auto settings = MakeObject<Devices::TiffSettings>();
settings->set_Compression(Devices::CompressionType::None);
settings->set_Depth(Devices::ColorDepth::Default);

// 지정된 너비, 높이, 해상도 및 TiffSettings로 TIFF 장치 만들기
auto device = MakeObject<Devices::TiffDevice>(width, height, resolution, settings);

// 출력 이미지에 대한 파일 스트림 생성
System::SharedPtr<System::IO::FileStream> imageStream = System::IO::File::Create(u"OutputDirectory\\pdf.tiff");

// PDF 파일을 TIFF 이미지로 변환
device->Process(pdfDocument, 1, 1, imageStream);

// 스트림 닫기
imageStream->Close();

무료 라이선스 받기

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

결론

이 기사에서는 C++를 사용하여 Microsoft Publisher(PUB) 파일을 JPG, PNG 및 TIFF 이미지로 변환하는 방법을 배웠습니다. 이를 달성하기 위해 C++용 Aspose.PUB 및 C++용 Aspose.PDF API를 사용했습니다. 공식 문서를 방문하여 이러한 API를 자세히 탐색할 수 있습니다. 질문이 있는 경우 무료 지원 포럼에 문의해 주십시오.

또한보십시오