C++에서 PS EPS XPS 문서 만들기

Aspose.Page for C++는 C++를 사용하여 PostScript(PS/EPS) 및 XPS 문서 조작을 위해 개발된 Aspose.Page 제품군에 추가된 귀중한 기능입니다. Aspose.Page for C++는 새 XPS 파일을 생성하고 기존 PostScript 및 XPS 문서를 프로그래밍 방식으로 수정 및 변환하기 위한 기본 C++ 라이브러리입니다. API를 사용하면 XPS 문서에서 캔버스 및 글리프와 같은 페이지 및 요소로 작업할 수도 있습니다. 또한 문서를 PDF 및 래스터 이미지로 변환하는 것을 지원합니다. 이 문서에서는 C++용 Aspose.Page를 사용하여 XPS 문서와 관련된 다음 작업을 수행하는 방법을 보여줍니다.

  • C++에서 새 XPS 문서 만들기
  • C++에서 기존 XPS 문서 편집
  • C++에서 XPS 문서에 페이지 또는 문서 추가

C++용 XPS API 설치

Aspose.Page for C++는 NuGet에서 호스팅되며 다운로드 가능한 바이너리로 제공됩니다. 다운로드 가능한 패키지에는 기본 예제의 소스 코드가 포함된 C++ 콘솔 응용 프로그램도 포함되어 있습니다.

C++에서 XPS 문서 만들기

다음은 C++용 Aspose.Page를 사용하여 텍스트와 이미지가 포함된 XPS 문서를 만드는 간단한 단계입니다.

  • XpsDocument 클래스의 개체를 만듭니다.
  • XpsGlyphsXpsPath 개체를 각각 사용하여 텍스트와 이미지를 추가합니다.
  • 저장 방법으로 문서를 저장합니다.

다음 코드 샘플은 C++에서 XPS 문서를 만드는 방법을 보여줍니다.

// 새 XpsDocument 개체 만들기
auto doc = System::MakeObject<XpsDocument>();

// 이미지 추가
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// 적절한 위치 지정에 사용할 수 있는 행렬을 만듭니다.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// 이미지 브러시 만들기
path->set_Fill(doc->CreateImageBrush(u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 450.24f, 150.64f), System::Drawing::RectangleF(50.f, 20.f, 450.68f, 150.48f)));

// 바닥글로 텍스트
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 18.0f, System::Drawing::FontStyle::Regular, 40.f, 1015.f, u"Copyright &#xa9; 2006 QualityLogic, Inc.");
glyphs->set_Fill(textFill);
glyphs = doc->AddGlyphs(u"Arial", 15.0f, System::Drawing::FontStyle::Regular, 475.f, 1003.f, u"For information on QualityLogic XPS test products,");
glyphs->set_Fill(textFill);

// XPS로 저장
doc->Save(u"Create-XPS.xps");

산출

PS EPS XPS 문서 편집 C++

C++에서 XPS 문서 편집

다음은 기존 XPS 문서를 편집하는 단계입니다.

  • XpsDocument 클래스의 개체를 만들고 XPS 문서의 경로로 초기화합니다.
  • XpsDocument 개체를 사용하여 문서의 요소에 액세스합니다.
  • 저장 방법을 사용하여 업데이트된 문서를 저장합니다.

다음 코드 샘플은 C++에서 기존 XPS 문서를 편집하는 방법을 보여줍니다.

// XPS 문서 로드
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// 페이지 목록 끝에 빈 페이지 추가
doc->AddPage();
// 페이지 목록 시작 부분에 빈 페이지 삽입
doc->InsertPage(1, true); 
// XPS 파일 저장
doc->Save(u"Updated-XPS.xps");

C++에서 XPS에 페이지 및 문서 추가

Aspose.Page for C++를 사용하면 XPS 문서에 여러 문서와 페이지를 추가할 수도 있습니다. 다음은 새 XPS 문서를 만들고 추가 페이지와 문서를 추가하는 단계입니다.

  • XpsDocument 클래스의 개체를 만듭니다.
  • AddPageAddDocument 메서드를 사용하여 페이지와 문서를 각각 추가합니다.
  • SelectActiveDocument 메서드를 사용하여 처리할 활성 문서를 선택합니다.
  • 문서에 텍스트 또는 이미지를 추가합니다.
  • 문서를 저장합니다.

다음 코드 샘플은 C++를 사용하여 XPS에 페이지와 문서를 추가하는 방법을 보여줍니다.

// 새 문서(기본 크기 페이지 1개가 있는 고정 문서 1개)
auto doc = System::MakeObject<XpsDocument>();
// 첫 번째 문서에 두 번째 페이지 추가 및 활성화
doc->AddPage();
// 1페이지로 두 번째 문서 추가(파일의 세 번째 페이지)
doc->AddDocument(false);
// 첫 번째 문서의 두 번째 페이지가 아직 활성 상태입니다.
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Page 2 (Document 1),");
glyphs->set_Fill(textFill);
// 두 번째 문서 활성화
doc->SelectActiveDocument(2);
glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Document 2 (Page #3 in file),");
glyphs->set_Fill(textFill); 
// XPS 파일 저장
doc->Save(u"Create-XPS.xps");

C++용 Aspose.Page에 대해 자세히 알아보기

GitHub에서 제공되는 문서소스 코드 예제를 사용하여 Aspose.Page for C++에 대해 자세히 알아볼 수 있습니다.