PDF 문서에서 회전과 관련된 시나리오를 살펴보겠습니다. 수정해야 하는 반전된 PDF 문서가 있을 수 있는 상황이 있을 수 있습니다. 문서의 페이지를 회전하여 이러한 문서를 수정할 수 있습니다. 텍스트 또는 이미지 워터마크를 회전하여 PDF 문서에 추가할 수도 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 프로그래밍 방식으로 PDF 페이지, 텍스트 및 이미지를 회전하는 방법을 설명합니다.
- PDF 페이지, 텍스트 및 이미지 회전을 위한 C++ API
- C++를 사용하여 PDF 페이지 회전
- C++를 사용하여 PDF 페이지에서 텍스트 회전
- C++를 사용하여 PDF 페이지에서 이미지 회전
PDF 페이지, 텍스트 및 이미지 회전을 위한 C++ API
Aspose.PDF for C++는 PDF 문서를 만들고 읽고 업데이트할 수 있는 C++ 라이브러리입니다. 이 외에도 API는 PDF 페이지, 텍스트 및 이미지 회전을 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.PDF.Cpp
C++를 사용하여 PDF 페이지 회전
C++용 Aspose.PDF로 페이지를 회전하는 것은 아주 쉽습니다. 몇 줄의 코드로 PDF 문서의 모든 페이지를 회전할 수 있습니다. 다음은 C++를 사용하여 PDF 페이지를 회전하는 단계입니다.
- Document 클래스를 사용하여 원본 PDF 문서를 로드합니다.
- 문서의 페이지를 반복합니다. 선택한 페이지만 회전하려는 경우 이 루프 내에서 해당 논리를 정의할 수 있습니다.
- Page->setRotate(Rotation value) 메서드를 사용하여 각 페이지를 회전합니다.
- Document->Save(System::String outputFileName, SaveFormat format) 메서드를 사용하여 출력 PDF 파일을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 페이지를 회전하는 방법을 보여줍니다.
// 원본 PDF 문서 열기
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// 페이지 반복
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
// 페이지 회전
page->set_Rotate(Aspose::Pdf::Rotation::on180);
}
// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);
C++를 사용하여 PDF 페이지에서 텍스트 회전
PDF 문서에 텍스트를 추가하는 동안 각도를 비롯한 많은 텍스트 속성을 변경할 수 있습니다. 다음 예에서는 PDF 페이지에 텍스트를 추가하고 45도 각도로 회전합니다. 다음은 이를 달성하기 위한 단계입니다.
- 새 PDF 문서를 나타내는 Document 클래스의 인스턴스를 만듭니다.
- PDF 문서에 새 페이지를 추가합니다.
- 추가하려는 텍스트로 TextFragment 클래스의 인스턴스를 만듭니다.
- 텍스트의 위치, 각도 및 기타 속성을 설정합니다.
- TextBuilder->AppendText(System::SharedPtr)를 사용하여 PDF 페이지에 텍스트를 추가합니다. textFragment) 메서드입니다.
- Document->Save(System::String outputFileName, SaveFormat format) 메서드를 사용하여 출력 PDF 파일을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 페이지에서 텍스트를 회전하는 방법을 보여줍니다.
// Document 클래스의 인스턴스 만들기
auto pdfDocument = MakeObject<Document>();
// 새 페이지 추가
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();
// TextFragment 객체 생성
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");
// 텍스트의 위치 설정
textFragment->set_Position(MakeObject<Position>(200, 600));
// 텍스트 속성 설정
textFragment->get_TextState()->set_FontSize(12);
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_BackgroundColor(Aspose::Pdf::Color::get_LightGray());
textFragment->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textFragment->get_TextState()->set_Rotation(45);
textFragment->get_TextState()->set_Underline(true);
// TextBuilder 객체 생성
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);
// 페이지에 texc 추가
textBuilder->AppendText(textFragment);
// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);
C++를 사용하여 PDF 페이지에서 이미지 회전
PDF 문서에 이미지를 추가하는 동안 높이, 너비, 불투명도, 회전 등과 같은 많은 속성을 설정할 수 있습니다. 이 예에서는 PDF 페이지에 이미지를 추가하고 90도 각도로 회전합니다. 다음은 PDF 페이지에서 이미지를 회전하는 단계입니다.
- Document 클래스를 사용하여 원본 PDF 문서를 로드합니다.
- 추가하려는 이미지로 ImageStamp 클래스의 인스턴스를 만듭니다.
- 이미지의 회전 및 기타 속성을 설정합니다.
- Document->getPages()->idxget(1)->AddStamp(System::SharedPtr)를 사용하여 PDF 페이지에 이미지를 추가합니다. 스탬프) 방법.
- Document->Save(System::String outputFileName, SaveFormat format) 메서드를 사용하여 출력 PDF 파일을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PDF 페이지에서 이미지를 회전하는 방법을 보여줍니다.
// 원본 PDF 문서 열기
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// ImageStamp 객체 생성
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");
// ImageStamp 속성 설정
imageStamp->set_XIndent(250);
imageStamp->set_YIndent(350);
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_Rotate(Rotation::on90);
imageStamp->set_Opacity(0.5);
// 페이지에 ImageStamp 추가
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);
// PDF 파일 저장
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);
무료 라이선스 받기
임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 기사에서는 C++를 사용하여 PDF 문서의 페이지, 텍스트 및 이미지를 회전하는 방법을 배웠습니다. Aspose.PDF for C++는 PDF 파일 작업을 위한 많은 추가 기능을 제공하는 방대한 API입니다. API에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.