Enum 작업하기

열거형 사용하기

Aspose.PDF .NET용 FOSS는 API 전반에 걸쳐 강력히 타입이 지정된 열거형을 사용하여 문서 동작, 페이지 외관 및 변환 형식을 구성합니다. 매직 문자열이나 정수 대신, 대부분의 구성 요소—PDF 뷰어가 파일을 여는 방식부터 어떤 형식으로 저장되는지까지—가 열거형 값으로 표현됩니다. Document 이 페이지에서는 라이브러리를 사용할 때 가장 자주 마주하게 되는 열거형 타입을 소개합니다. 이는 선별된 소개이며 전체 카탈로그는 아닙니다; 열거형 타입 전체 목록과 모든 멤버 값을 보려면 다음을 참고하세요. API Reference.


페이지 표시 및 레이아웃

PageMode와 PageLayout은(는) Document의 속성으로, PDF 뷰어가 문서를 처음 열 때 문서를 어떻게 표시할지—개요, 썸네일, 또는 특정 열 레이아웃을 보여줄지—를 제어합니다.

using var doc = Document.Open("input.pdf");

// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;

// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;

doc.Save("output.pdf");

페이지 색상 모델

ColorType은(는) 페이지의 색상 모델—RGB, CMYK, 그레이스케일 등—을 설명합니다. 이는 Page와 Color 모두에서 노출되어 페이지 콘텐츠가 실제로 렌더링되는 방식을 기반으로 로직을 분기할 수 있게 합니다.

using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];

if (page.ColorType == ColorType.Grayscale)
{
    // Apply grayscale-specific handling, e.g. skip color-profile conversion
}

Alignment

여러 클래스는 페이지에 콘텐츠를 배치하기 위해 HorizontalAlignment와 VerticalAlignment을 노출하고, 주석 클래스는 상자 내 텍스트 전용 정렬을 위해 TextAlignment와 Justification을 추가합니다. 예를 들어 Table는 두 정렬 축을 직접 노출합니다.

var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;

page.Paragraphs.Add(table);

FreeTextAnnotation(및 Annotation 기본 유형)도 주석 내부 텍스트를 위해 Justification와 TextAlignment을 추가로 노출합니다:

if (page.Annotations[1] is FreeTextAnnotation freeText)
{
    freeText.Justification = Justification.Center;
    freeText.Alignment = TextAlignment.Right;
}

로드 및 저장 형식

LoadFormat은 LoadOptions 하위 클래스 뒤의 소스 형식을 식별합니다(예: HtmlLoadOptions.LoadFormat는 항상 LoadFormat.HTML입니다). SaveFormat는 Document.Save를 호출할 때 출력 형식을 선택합니다.

var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);

doc.Save("output.html", SaveFormat.Html);

페이지 회전

Rotation은 페이지의 회전 각도를 설명하며 Page.Rotate을 통해 노출됩니다.

var page = doc.Pages[1];
page.Rotate = Rotation.on90;

팁 및 모범 사례

  • 문자열 또는 정수 기반 오버로드와 동시에 존재하는 경우 enum 오버로드를 선호하세요 — 컴파일 시점에 잘못된 값을 잡아냅니다.
  • SaveFormat을(를) Document.Save에 전달하는 파일 확장자와 일치시키세요; 불일치 시 내용이 오해를 일으키는 파일이나 사용할 수 없는 확장자가 생성됩니다.
  • 형식 자동 감지에만 의존하지 말고, 소스 형식에 해당하는 LoadOptions 하위 클래스를 사용하세요(예: HTML의 경우 HtmlLoadOptions).
  • 표나 단락을 배치할 때는 HorizontalAlignment와 VerticalAlignment를 동시에 설정하세요 — 하나만 기본값으로 두면 예기치 않은 배치가 발생할 수 있습니다.
  • ColorType을(를) 규정적인 것이 아니라 설명적인 것으로 간주하세요: 이는 페이지의 색상 내용이 현재 어떻게 모델링되어 있는지 보고할 뿐이며, 색 공간을 변환하기 위해 전환하는 설정이 아닙니다.

일반적인 문제

문제원인수정
저장된 파일의 내용이 확장자와 일치하지 않음잘못된 SaveFormat 값이 Document.Save에 전달됨대상 파일 확장자와 일치하는 SaveFormat 값을 전달하세요
로드된 HTML/XML/etc. 콘텐츠가 올바르게 렌더링되지 않습니다형식에 특화된 서브클래스 대신 일반 LoadOptions가 사용되었습니다소스 형식에 맞는 서브클래스를 사용하세요, 예: HtmlLoadOptions
표 또는 주석이 페이지에서 정렬이 맞지 않는 것처럼 보입니다HorizontalAlignment/VerticalAlignment이(가) 기본값으로 남아 있습니다Paragraphs에 객체를 추가하기 전에 두 속성을 명시적으로 설정하세요
PDF가 예상치 못한 뷰어 동작으로 열립니다(개요 패널이 없고, 열 레이아웃이 잘못됨)Document.PageMode/Document.PageLayout이(가) 설정되지 않았습니다Document.Save를 호출하기 전에 두 속성을 모두 설정하십시오.

FAQ

PageMode와 PageLayout의 차이점은 무엇인가요?

PageMode은(는) 열릴 때 뷰어 UI 상태를 제어합니다(예: 개요 패널이나 썸네일 패널이 보이는지 여부). 반면 PageLayout은(는) 페이지가 배치되는 방식을 제어합니다(단일 페이지, 1열, 2열 등).

어떤 SaveFormat 값을 사용해야 하는지 어떻게 알 수 있나요?

원하는 출력 파일 형식에 맞는 SaveFormat 값을 선택하세요 — 예를 들어, HTML 출력에는 SaveFormat.Html을, PDF로 다시 저장하려면 SaveFormat.Pdf을 사용합니다.

같은 객체에 HorizontalAlignment와 VerticalAlignment을 모두 설정할 수 있나요?

네. Table와 같은 클래스는 두 속성을 독립적으로 노출하므로, 이를 결합해 콘텐츠를 어느 축에든 배치할 수 있습니다.

ColorType을(를) 사용해 페이지의 색 공간을 변환할 수 있나요?

아니요. ColorType은(는) 페이지 또는 색 값에 현재 연결된 색 모델을 보고할 뿐이며, 변환을 수행하지 않습니다.

모든 열거형(enum)과 모든 값을 어디서 찾을 수 있나요?

이 페이지에서는 가장 일반적으로 사용되는 열거형을 다룹니다. 모든 멤버 값을 포함한 전체 세트를 보려면 다음을 참조하십시오. API Reference.


API Reference 요약

Enum설명
PageModePDF 뷰어가 문서를 열 때 표시하는 방법(개요, 썸네일, 전체 화면 등)
PageLayout문서가 표시될 때 사용되는 페이지 레이아웃(단일 페이지, 컬럼 등)
ColorType페이지의 색상 모델 또는 색상 값(RGB, CMYK, 그레이스케일 등)
HorizontalAlignment단락, 표 또는 주석의 가로 정렬
VerticalAlignment문단, 표 또는 주석의 수직 정렬
TextAlignment주석 텍스트 상자의 가로 텍스트 정렬
Justification자유 텍스트 주석 내용의 양쪽 맞춤
LoadFormatLoadOptions 하위 클래스에서 사용하는 소스 형식 선택기
SaveFormatDocument.Save에서 사용되는 출력 형식 선택기
Rotation페이지 회전 각도, Page.Rotate을 통해 제공됨

참조

 한국어